壹拾玖
面向对象
一、面向对象编程
万物皆对象,不同的对象有不同的特征和作用。面向对象编程即定义不同的类与对象,并将其反映到整体之中
优点:扩招性强
缺点:编程的复杂度远高于面向过程。
应注意的是,面向对象的程序设计并不是全部。对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性。
二、类与对象
类即类别、种类,对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体,编程时先定义类,再定义对象
定义类的方法:class + 关键字,对象 = 类名。
生成对象:类 + (),通过“.”获取。
获取类的属性和方法:类 + . + _dict_。
类调用属性和方法:1.通过dict调取(不常用),2.通过类名 + . + 属性(函数)
获取对象的方法:对象 + . + _dict_。
对象调用属性和方法:对象 . 属性/方法。
注意:
1.在程序中特征用变量标识,技能用函数标识。
2.因而类中最常见的无非是:变量和函数的定义
class Car:
country = 'China'
def SUV(self):
print('is SUV')
def MPV(self)
print(is MPV)
注意:
1.类中可以有任意python代码,这些代码在类定义阶段便会执行。
2.因而会产生新的名称空间,用来存放类的变量名与函数名。
3.对于经典类来说我们可以通过该字典操作类名称空间的名字(新式类有限制),但python为我们提供专门的.语法。
4.点是访问属性的语法,类中定义的名字,都是类的属性。
三、绑定方法
定义在类内部的两种方法
1.类调用:即为普通函数,有多少参数就传递都少参数。
2.对象调用:也叫对象绑定方法,在方法内部即可对对象进行修改,使用时第一个参数会自动传递,不需要传递。
class Dog:
def __init__(self,name,agg,hp = 100):
self.name = name
self.agg = agg
self.hp = hp
通过_ _init__在类中定义方法,在方法上写上需要的参数,在对象实例化产生对象时,货号内的值便会传入 __init__中。
属性查找的顺序:对象自身中查找-->类中查找-->报错
面向对象编程,即类通过实例化产生对象,对象调用对象的绑定放法,修改对象本身。