class python

1 定义类: class A

statement1;

2 属性与功能 ,属性就是初始值,需要构造。

 

3 构造函数与析构函数

 

构造:def _init_();   重中之重:大错特错。应该为 __,两个杠,不是一个杠_  def __init__(self,)self必须写

 

析构:def _del_();

 

4 历史遗留问题:

最好继承object类;

 

简单例子:

dir():对象属性

type():对象类型

 

5定义类的属性:

 

1 直接在类里面定义。

2 在构造函数定义。

3 访问控制。public private ,没有任何控制。全靠自觉。

4 self.name ->public self._name ->private self.__name->protected会改变属性名

 

6 定义类的方法:

 

 

1 函数和方法:

重中之重:普通函数里参数也要有self,且输出属性时要self.name

1)不一样,函数是直接调用函数名,方法是和对象结合一起使用。

2)方法可以看做属性,所以:class.getname()="刘畅",属性赋值给方法

3)访问控制

self._getname() private

 

 

 

7 引用自己写的类:import classs as a

fir = a.First("刘畅",22);

fir.printit();

8 继承

定义类的继承,类名(括号里面是继承类)

继承属性和方法,也可覆盖父类属性方法

重写父类时,有可能Super()来调用父类方法

 

Def method(self,arg):

Super(B,self).method();B为自己类名,可以不用写那么多代码,比如父类有五个属性,子类重写__init__()方法,此地有七个属性,如果无super需要七个属性都打出来(虽然能重写,重写解决的是方法名过多,容易混,写super就可以直接继承五个父属性自己再写两个就好)super是调用父类方法

 

Isinstance

Issubclass

 

9 多继承,不常见。

10 例子

11 多态:

java中的多态是同样的方法名,当传入不同的参数时方法不一样

python中:

(1)继承

(2)重写

12 magic method:前后两个下划线

(1)__init__:最常用模式。

(2)创建对象:

(3)__del__():本身不需要重写

(4)类与运算符

(1)

 

posted @ 2017-05-07 16:37  freebirds  阅读(85)  评论(0)    收藏  举报