python学习笔记-面向对象<12>

定义过程:


class Fruits(object):
pass

实例化过程:

fr = Fruits()


python学习笔记-面向对象<12>_第1张图片
class.png

1.初始化方法可以有默认参数:

2.默认参数应该放在必备参数的后面

3.类的属性 大家共有的

4.实例的属性,数据属性 实例自己的属性

5.判断是否是一个类的实例

isinstance(12,int)
True
a = 12
type(a) == int
True
isinstance(fr1,Fruits)
True

6.fr1.dict 查看类的属性和值

{'color': 'yellow', 'name': 'banana', 'weight': 90, 'list2': []}

7.隐藏属性,下划线 _ 需要加_访问

8.私有变量,双下划线__ 外部看着不能访问,实际调用类也可以访问

外部调用相当于名字重整 fr1._Fruits_._weight
内部正常调用 self.__weight,self._color

9.方法属性可以直接使用类属性

10.数据属性会覆盖掉同名的方法属性

11.继承 Apple:子类(派生类) Fruits:父类(基类):

   1.重写父类的,直接调用父类的方法和属性
   2.重写的父类的方法,会调用自己的方法
   3.先在内部找,没有,往上级找
   4.多重继承,相当于父类的拼接,多个都有的话会使用靠前的父类
      Fruits.\_\_init\_\_(self,'apple',color,weight) #把父类的初始化改造之后初始化
      super(Orange,self).\_\_init\_\_('orange',color,weight) #调用父类信息进行初始化

12.issubclass(Apple,Fruits) 判断一个类是否另外类的子类

13.多态:多态是基于继承的好处,当派生类重写了基类的方法

你可能感兴趣的:(python学习笔记-面向对象<12>)