面向对象的编程
目标:
理解面向对象的思想:考虑通过封装、继承、多态把程序的耦合度降低。
理解类和对象
理解封装、继承和多态
1.self参数:类实例对象本身。
2.Python中有垃圾回收机制,定期回收不再使用的内存块。
分为手动和自动回收。自动回收是指对于不需要的对象,系统会自动释放内存空间,引用计数为零。手工回收是指调用析构方法__del__()清理对象的任何非内存资源。
3.类属性和实例属性
先找实例属性,再找类属性,类属性可以被类Plane.pCount访问,也可以被对象p1.pCount访问
4.方法:
类中定义的方法有三种:类方法,实例方法,静态方法
(1)实例方法与类绑定且依赖实例化对象。在类中声明定义,必须先创建对象,再调用执行,类对象可以调用执行。
(2)类方法是与类绑定,不依赖对象,不需要实例化对象,类和其对象都可以调用执行。定义类方法的语法是使用装饰器@classmethod,类方法名的参数中第一个需要用隐含参数cls,语法如下所示:
@classmethod
类方法名(cls,参数列表)
需要注意的是,在类方法中,只能使用类属性,不能使用实例属性
(3)静态方法与类方法相似,不同之处在于语法糖为@staticmethod,且没有cls参数。
@staticmethod
Python中类方法和静态方法的主要区别在于:某些场合需要cls参数时只能用类方法,其他情况都可以。
总结
类是对象的类型,对象是类的实例。类是抽象的概念,仅仅是模板。
面向对象有三大特性,封装,继承,多态。
类中定义的方法有三种:类方法,实例方法,静态方法。
网友评论