一,面向对象
类: 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
定义一个简单的只包含方法的类:
class 类名
def 方法1(self, 参数列表):
pass
def 方法2(self, 参数列表):
pass
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
使用这个类创建对象:
对象变量 = 类名()
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
一个简单的例子:
class Cart(objest):
def attribute(self):
print(车的重量")
def method(self):
print(车的驾驶方法")
TheCar = Cart("小汽车") #实例化对象
TheCar.attribute()
TheCar.method()
Thepassengercar = Cart("客车") #实例化对象
Thepassengercar.attribute()
Thepassengercar.method()
初始化方法:使用类名创建对象时,会自动执行以下操作:
1.为对象在内存中分配空间——创建对象。
2.为对象的属性设置初始值——初始化方法
该方法在创建对象时会自动被调用:
class Cart(object):
def __init__(self):
print("这是一个初始化方法")
在初始化方法内部定义属性:
class Cart(object):
def __init__(self,name):
self.name = name
print(name)
def attribute(self):
print(self.name + "的重量")
def method(self):
print(self.name + "的驾驶方法")
TheCar = zuoye11.Cart("小汽车")#实例化对象
TheCar.attribute()
TheCar.method()
Thepassengercar = zuoye11.Cart("客车")#实例化对象
Thepassengercar.attribute()
Thepassengercar.method()
继承:即一个派生类(子类)继承基类(父类)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。
子类继承父类,可以直接享受父类中已经封装好的方法,不需要再次开发。
子类中需要封装子类特有的属性和方法。
class 类名(父类名):
pass
多态:
不同的子类对象调用相同的父类方法,并且重写父类中的方法,产生不同的执行结果。
在程序执行时,传入不同的对象实参,就会产生不同的执行效果。
class Bus(Cart):
def method(self):
print(self.name + "的驾驶方法是手动")