1 【隐藏/私有属性】
在属性前面加2个下划线。用getter and setter 代替直接访问变量属性。
__name
2.【私有方法】
在方法前面加2个下划线。
def __send_msg(self): #私有方法
def send_msg(self): #公共方法
#对象不能直接调用私有方法。可以在公共方法中调用私有方法。self.私有方法。
3.【__del__方法】
def __del__(self): # 相当于dealloc /deinit
sys.getrefcount() #import sys 获取当前的引用计数
4.【继承】
class Dog(Animal):
class C(A,B):
__mro__ #查看方法调用顺序 c3算法
5.【重写】
#一样的,子类内部覆盖父类方法
当还要调用父类的方法时,在子类方法中手动调用父类方法。super().overrideMethd
6.【多态】
一样的
7.【类属性、实例属性】
类属性 #定义在class 内,方法外部。类似于static ,多个实例之间共享数据 @property (class, nonatomic, copy) NSUUID *identifier; (xcode 8 ios 10 )之后的支持
实例属性 #实例对象中的属性 类似于@property
8.【类方法、实例方法、静态方法】
类方法:@classmethod
def add_num(cls):
#可以通过类/对象调用
静态方法:@staticmethod
def add_num():#可以没有参数
#可以通过类/对象调用。与类和对象都没有关系时,用静态方法。
实例方法:
def add_num(self):
#可以通过对象调用
网友评论