面向对象
1.类:
1.类名>>>名称>>>Dog
2.属性>>>信息>>>性别、品种、毛发
3.方法>>>功能>>>汪汪叫
2.对象:
创建格式为 对象名=类名( )
self: 所谓self 可以理解成为自己
1.__init__方法
在创建完对象之后 会自动调用 它完成对象的初始化
2.__str__方法
返回一个对象的描述信息
3.私有对象属性和方法
4.继承
例: class Animal( ):
def eat(self):
print(‘chi')
def drink(self):
print(‘he')
class Dog(Animal):
子类具有父类全部功能
一个父类可以拥有多个子类
重写方法:
如果子类不满父类的功能 要修改子类而不是父类
修改子类定制了一个与父类方法名字一样的方法 会覆盖父类的方法 这叫做重写
第一种:写上父类的名字.方法(self)
例: Dog.berk(self):
print(‘嗷嗷叫')
第二种:super( ).bark + print(‘嗷嗷叫')
私有方法,属性不会被子类继承
子类调用父类私有方法的方法:
def test(self):
print(self.__num)
self.__run()
5.多继承
一个类可以继承多个父类, 叫做多继承、
# 注意点:
1.使用类的名字.__mro__能够查看将来找方法时候的顺序
2.如果子类同时需要多个父类被重写的方法 用:类名.方法名(self)
不能用:super( ).方法名( )
6.多态
面向对象:封装 继承 多态
多态:有多种形态、状态
1.类属性和实例属性
通过一个类对象 可以创建无数个实例对象
如果变量在实例对象中 那么就叫做实例属性
定义类属性:
在class里面定义 例 num=0
带着self的方法都叫实例方法
2.类方法
在方法上面+例: @classmethod
def add_num(cls):
cls.num += 1
类方法可以通过类的名字,实例对象都可以调用
例: self.add_num
3.静态方法
@staticmethod
def test( ):
print(‘----欢迎来到----')
print(‘1.xxx’)
print(‘2.xxx')
总结:
<1>实例对象:通过类名( )创建出来的
实例属性:self.xxxx
实例方法:只能使用实例对象调用
<2>类对象:只要定义了一个类,当python解释器遇到哪句话的时候 会自动创建类对象
类属性:
类方法:可以通过类名或者实例对象调用
静态方法:与实例对象,类对象 都没有任何关系 可以通过类名或者实例对象调用