目录
问题一、什么是面向对象程序设计
面向对象程序设计是一种新型的程序设计的方式,这种方式的主要特征如下:
程序 = 对象 + 消息,在面向对象中也有三大非常重要的特性,那就是继承,多态以及封装
面向过程编程的核心是过程(流水线思维)。过程是解决问题的步骤。面向过程的设计就像仔细设计一条流水线,以考虑何时处理以及处理什么。优点是它大大降低了编写程序的复杂性。您只需要沿着要执行的步骤堆叠代码。
缺点:使用一组流水线或进程来解决问题,代码对整个程序的影响是非常大的。而面向对象解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,对一个对象参数的修改也是非常简单的
下面来看一个定义类的例子:
class Dog: def __init__(self,name,blood,aggr,kind): self.name = name self.hp = blood self.aggr = aggr self.kind = kind def bite(self,person): person.blood -= self.aggr
在上面我们就按照Python的方式定义了一个Dog类,并且给这个类创建了许多类的属性以及类的方法
问题二、对象是什么?类是什么?
按比较官方的话语来说对象,就是描述其属性的数据,以及对这些数据施加的一组操作封装,在一起统构成的统一体,对象可以认为是数据加操作,能够用对象完成的操作就可以表示它动态行为,我们通常也把这种操作称为方法,类的定义就更加简单了,它就是将具有相同的数据属性和数据方法的对象抽象出来形成集合体,也就是说类就是对具有相同数据结构和相同操作的一类对象的描述
问题三、对象和类之间的关系又是什么?
用非常简单的话来说,对象就是类的一种具体化,具体到某一个独一无二的个体,而类就是对各种具有相似特征的对象的一种抽象
类:具有相同特征的一类事物(人类,狗类)
对象/实例:具体的某一个事物(人类中的独一无二的你,比如狗类中的具体的某一条狗)
实例化:类——>对象的过程
下面我们就来实现一个类中对象的实例化:
class Dog: def __init__(self,name,age): self.name = name self.age = age def bite(self,person): person.blood -= self.aggr wangcai = Dog('旺财',4) //这样我们就实例化了一个对象
问题四、什么是消息,消息又有哪性质?
在面向对象的程序设计之中,一个对象向另一个对象发出的请求,我们就把它称之为消息,我们可以通过接收的消息来执行相对应的操作,我们只有通过消息才能完成对象与对象之间的交互