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)

 

相关文章:

  • 2021-06-24
  • 2021-10-22
  • 2021-11-15
  • 2021-09-25
  • 2022-02-07
  • 2021-05-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-31
  • 2021-08-28
  • 2021-09-16
  • 2021-05-30
  • 2021-05-29
  • 2021-12-09
  • 2021-07-28
相关资源
相似解决方案