面向对象编程

面向对象的编程

目标:

理解面向对象的思想:考虑通过封装、继承、多态把程序的耦合度降低。

理解类和对象

理解封装、继承和多态


1.self参数:类实例对象本身。

2.Python中有垃圾回收机制,定期回收不再使用的内存块。

        分为手动和自动回收。自动回收是指对于不需要的对象,系统会自动释放内存空间,引用计数为零。手工回收是指调用析构方法__del__()清理对象的任何非内存资源。

3.类属性和实例属性

先找实例属性,再找类属性,类属性可以被类Plane.pCount访问,也可以被对象p1.pCount访问

4.方法:

类中定义的方法有三种:类方法,实例方法,静态方法

(1)实例方法与类绑定且依赖实例化对象。在类中声明定义,必须先创建对象,再调用执行,类对象可以调用执行。

(2)类方法是与类绑定,不依赖对象,不需要实例化对象,类和其对象都可以调用执行。定义类方法的语法是使用装饰器@classmethod,类方法名的参数中第一个需要用隐含参数cls,语法如下所示:

@classmethod

类方法名(cls,参数列表)

需要注意的是,在类方法中,只能使用类属性,不能使用实例属性

(3)静态方法与类方法相似,不同之处在于语法糖为@staticmethod,且没有cls参数。

@staticmethod

Python中类方法和静态方法的主要区别在于:某些场合需要cls参数时只能用类方法,其他情况都可以。

总结

类是对象的类型,对象是类的实例。类是抽象的概念,仅仅是模板。

面向对象有三大特性,封装,继承,多态。

类中定义的方法有三种:类方法,实例方法,静态方法。

你可能感兴趣的:(面向对象编程)