面向对象
类:一个模型,一个图纸。
对象:根据模型做出来的东西就是实例。
实例:实例和对象是一回事。
实例化:就是根据模型做具体东西的过程。
self:本类对象。

继承:
私有方法、私有变量不会被继承
1、如果要在父类方法的基础上重写扩展功能,super().xxx调用父类,然后把
对应的参数,传入即可
super会自动找到父类

抽象类:一个规范
封装:
静态方法:只是写在类里面的一个方法,不能使用类变量,调用不了其他的类方法 @staticmethod

实例方法:必须要实例化之后才能使用的函数。
实例变量:类的属性就是变量,必须要实例化之后才能使用的变量
类变量:在类里面直接定义的变量
类方法:不用实例化,通过类名就可以直接调用的方法,用实例也可以调用  @classmethod

属性方法:看起来像变量的一个函数 @property

构造函数:类在实例化的时候自动调用的方法 def __init__(self):

析构函数:实例被销毁的时候自动调用的方法 def __del__(self) :

私有方法:只能在类里面调用,出了类就不行了 def __close(self): #私有方法,出了类就使用不了

私有变量:只能在里面用,出了类就不行了

 1 #抽象类
 2 
 3 import abc  #abc是python内置模块
 4 #这是一个抽象类,只是用来继承的
 5 class BaseCar(metaclass=abc.ABCMeta):
 6     def __init__(self,uid):
 7         self.uid=uid
 8 
 9     @abc.abstractclassmethod #此装饰器装饰后变成抽象类
10     def run(self):
11         pass
12 
13 # class Bmw(BaseCar):
14 #     pass
15 
16 # #TypeError: Can't instantiate abstract class Bmw with abstract methods run
17 # m=Bmw('uid')
18 # m.run()
19 
20 class Bmw(BaseCar): #继承此类必须实现run方法
21     def run(self):
22         print('run')
23 
24 m=Bmw('uid')
25 m.run()
View Code

 

posted on 2019-12-01 09:16  彼得潘jd  阅读(205)  评论(0编辑  收藏  举报