2018-01-18

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):
#可以通过对象调用

你可能感兴趣的:(2018-01-18)