摘要: 封装:就是把属性或方法装起来 广义:把属性和方法装起来,不让外面直接调用,要通过类的名字或类的对象来调用 狭义:把属性和方法藏起来,外面根本不能调用,只能在内部偷偷调 私有属性或方法就是在静态变量、实例属性和成员方法名前加双下划线__,不能被外部被调用,只能在内部使用 实际上所有的私有化都是为了让用 阅读全文
posted @ 2020-08-20 20:38 LGQ天 阅读(104) 评论(0) 推荐(0)
摘要: super是按照mro顺序来寻找类间的继承关系即super只服务于新式类 在D类中找super的func方法,可以写为super().func() == 父类名.func(self)也可以写为super(D, self).func() (在python2的新式类中必须这样写) 在单继承中,super 阅读全文
posted @ 2020-08-20 19:34 LGQ天 阅读(269) 评论(0) 推荐(0)
摘要: 多态:一个类型表现出来的多种状态,实际上是通过继承来完成的 既一个类实例化出来的不同对象是这个类表现出来的不同形态 而在java中:一个参数必须定制类型,所以如果想让两个类型的对象都可以传递,那么必须让这两个类继承自一个父类,在制定类型的时候使用父类来声明 鸭子类型:一个类可以是很多类的鸭子类型,既 阅读全文
posted @ 2020-08-20 19:31 LGQ天 阅读(216) 评论(0) 推荐(0)
摘要: python3所有的类都继承自object类 新式类: 1.python3中,所有类都是新式类 2.python2中主动继承object类 经典类: python2中,不继承object类 # 多继承: class A:pass class B(A):pass # B继承A class C(A):p 阅读全文
posted @ 2020-08-20 19:22 LGQ天 阅读(134) 评论(0) 推荐(0)
摘要: from abc import ABCMeta, abstractmethod class Pay(metaclass=ABCMeta): # 这种方式约束力强,但是依赖abc模块 @abstractmethod def pay(self, money): """只要见到项目中有这种类,你的子类中必 阅读全文
posted @ 2020-08-20 19:19 LGQ天 阅读(115) 评论(0) 推荐(0)
摘要: # 抽象类: # 是一个开发的规范,约束它的所有子类必须实现一些和它同名的方法 class Pay(object): # 抽象类 def pay(self, money): """只要见到项目中有这种类,你的子类中必须实现和play同名的方法""" raise NotImplementedError 阅读全文
posted @ 2020-08-20 19:17 LGQ天 阅读(176) 评论(0) 推荐(0)