python面向对象编程

时间:2023-01-02 13:33:58


1、类也是用class定义命名规则也和java相同

2、类中三种特性,封装、继承、多肽(java一样)

封装:定义一个类,在类中定义函数和属性

继承:定义一个类继承其它的类,它就拥有这个类的属性和函数

myList(list)自己定义的myList列表继承了list列表

多肽:不同对象对同一方法体现出来不同的行动

3、可以在类中定义多个方法

4、OOA:面相对象分析 OOD:面相对象设计OOP:面相对象编程

5、self相当于java中的this,指的是当前对象

6、python中定义私有变量只需要在变量名或者函数前面加上'__’两个下划线,那么这个函数或变量就会编程私有的了

7、python中定义变量和函数默认都是public的

8、对象中有方法重写和方法重载

9、每次第一次执行的时候是true第二次执行的时候不就变成false执行false代码块

class Shark(Fish):

    def __init__(self):
        self.hungry = True


    def eat(self):
        if self.hungry:
            print('吃')
            self.hungry = False
        else: 
            print('吃的太饱了')


10、当子类重写了父类的方法,但子类执行的时候又需要执行到父类的方法,这个时候可以在子类执行方法的时候使用 父类对象.方法名(self对象),这个时候该子类方法又会拥有父类的执行方法。

这个self是子类的实例对象传入到父类的方法中,该方法是个未绑定父类方法

或者使用super函数:不用给出基类的名字系统自动会找到对应的基类,super函数有两个一个是带参的,一个是无参的,无参的是默认传入当前的self和变量函数。有参默认传入的是当前self和变量函数,变量函数可以重新定义

super().方法名称(空(self参数都不需要))

11、使用多重继承,使用class 类名(继承1,继承2,...)

类名调用继承多个父类中的方法

12、创建爱你一个实例对象的属性进行赋值,覆盖了类对象属性的赋值