内容简介:Python学习笔记(五)—第七、八天,面向对象概念
这两天学习类、属性、方法、对象等概念,由于原来基础比较薄弱,没接触过面向对象的语言,一遍看下来,彻底懵逼了。
啃了两天,才算是不那么懵了。简单记录下。
Class是一种抽象概念,比如我们定义的Class——Student,是指学生这个概念,而实例(Instance)则是一个个具体的Student,比如,Bart Simpson和Lisa Simpson是两个具体的Student。
所以,面向对象的设计思想是抽象出Class,根据Class创建Instance。 参考廖雪峰的官方网站 Python 3
类和对象主要是封装、继承、多态几个知识点。
类包括属性和方法,这是它与函数不同的地方,函数只有方法。
封装,我的理解是将一些数据和方法隐藏在函数内部了,外部不需要知道为什么,只要实例调用就好了。
就好像我们知道 +,既可以1 + 2,也可以‘a’+‘b’,至于为什么,在它的内部,我们不需要知道。
继承是指,子类继承父类的数据和方法。
比如,我们定义了一个名为Animal的class,它有一个run()de 方法,那么,当我们创建Dog、Cat等子类时,就可以继承Animal的属性和方法,不需要重复创建。
1 >>> class Animal(object): 2 def run(self): 3 print('Animal is running...') 4 5 6 >>> class Dog(Animal): #继承类Animal 7 pass 8 9 >>> class Cat(Animal): 10 pass
在class Dog和Cat中,我都没有创建任何函数,接下来我创建子类的实例,并调用run():
1 >>> dog = Dog() 2 >>> cat = Cat() 3 >>> dog.run() 4 Animal is running... 5 >>> cat.run() 6 Animal is running...
子类Dog和Cat,都可以调用从父类Animal继承的run()方法。都打印出Animal is running...
但是,如果子类中定义与父类同名的方法或属性,则会自动覆盖父类对应的方法或属性。不同名,则可以新增,属于子类。
如上面的例子,Dog肯定不希望仅仅打印出Animal。
1 >>> class Dog(Animal): 2 def rund(self): 3 print('Dog is running...') 4 5 6 >>> class Cat(Animal): 7 def run(self): 8 print('Cat is running...') 9 10 11 >>> dog = Dog() 12 >>> cat = Cat() 13 >>> dog.run() 14 Animal is running... 15 >>> dog.rund() 16 Dog is running... 17 >>> cat.run() 18 Cat is running...
这里面,Dog类新增了方法,rund(),所以实例dog,既可以调用从父类继承来的方法run(),输出Animal is running,
也可以调用自己新增的方法rund(),输出Dog is running;
而Cat类,因为新增的方法run(),与父类方法重名,所以覆盖了父类对应的方法。所以,cat.run()输出,Cat is running。
继承属性可以使用super函数或者在子类的__init__函数里面调用父类的__init__函数。
实例:
后面添加吧。。。
以上所述就是小编给大家介绍的《Python学习笔记(五)—第七、八天,面向对象概念》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 面向Python,面向对象(基础)
- 面向Python,面向对象(基础3)
- <<深入PHP面向对象、模式与实践>>读书笔记:面向对象设计和过程式编程
- 《JavaScript面向对象精要》之六:对象模式
- 《JavaScript面向对象精要》之三:理解对象
- 面向对象的程序设计之理解对象
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网络机器人Java编程指南
美 Heaton J. / 电子工业出版社 / 2002-7 / 44.00元
这是一本研究如何实现具有Web访问能力的网络机器人的书。该书从Internet编程的基本原理出发,深入浅出、循序渐进地阐述了网络机器人程序Spider、Bot、Aggregator的实现技术,并分析了每种程序的优点及适用场合。本书提供了大量的有效源代码,并对这些代码进行了详细的分析。通过本书的介绍,你可以很方便地利用这些技术,设计并实现网络蜘蛛或网络信息搜索器等机器人程序。 适合于具有一起来看看 《网络机器人Java编程指南》 这本书的介绍吧!