700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【Python学习】面向对象的编程

【Python学习】面向对象的编程

时间:2019-11-18 05:32:51

相关推荐

【Python学习】面向对象的编程

后端开发|Python教程

Python,对象

后端开发-Python教程

android 菜单开发源码下载,ubuntu下载心得,tomcat默认的发布目录,vue 爬虫开源,php7 优缺点,襄阳房地产seo推广哪家好lzw

微信游戏小程序源码,vscode无自动补全,Ubuntu执行mySQL,tomcat查询条件解密,sqlite3数据库存储,标书爬虫,php json 双引号,柳北区seo优化公司,海外网站模板侵权,dede地方门户网站模板lzw

python和java都是面向对象的语言。面向对象编程的特点数据封装、继承和多态

1.类和实例

面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。

在python中,定义类同样也是使用class关键字,class后面紧跟着的是类名,需要开头大写,之后的括号里表示的是继承的哪个类,即它的父类。

英雄联盟挂机辅助源码,ubuntu怎么使用crt,app下载地址爬虫,前台php 后端php,山东企业seolzw

class Student(object): pass

我们可以自由地给这个变量绑定属性

>>>nick.name = Liu Ling Hao>>>nick.nameLiu Ling Hao

而之后定义的不同的函数则是方法。总结来说对象=属性+方法

由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。此时就需要用到比较特殊的__init__方法。(int 前后各有两个下划线)

__init__方法的第一个参数永远是self,表示创建的实例本身。

class Student(object): def __init__(self, name, score): self.name = name self.score = scor>>> bart = Student(Bart Simpson, 59)>>> bart.nameBart Simpson>>> bart.score59

当有了__init__方法之后,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数

2.封装,继承和多态

面向对象编程的一个重要特点就是数据封装。

就像上面例子中的name和score,我们可以直接在类的内部定义的函数去访问,,比如可以添加一个数据或者对于一个列表进行排序,我们可以实现,但是我们并不知道它的内部是通过如何调节而实现的。

继承的好处就是获得了父类的全部功能,对于子类而言,可以在父类的基础上接着写,更加方便

class Person(object): def idea(self): print(study is happy)class Liu(Person): passliu =Liu()liu.ideastudy is happy

当然子类如果有和父类同样的方法时会自动覆盖掉父类的

多态:不同对象对同一方法响应不同的行动

>>>class Nick1: def name(self): print("我是1")>>>class Nick2: def name(self):print("我是2") >>>a = Nick1()>>>b = Nick2()>>>a.name我是1>>>b.name我是2

使用的函数名虽然一样但是实现并不一样。

def run(animal): animal.run() animal.run() >>> run(Animal())Animal is running...Animal is running...>>> run_twice(Dog())Dog is running...Dog is running...

多态的好处就是,当我们需要传入Dog或者其它动物时,我们只需要接收Animal类型就可以了,因为Dog都是Animal类型,然后,按照Animal类型进行操作即可。由于Animal类型有run()方法,因此,传入的任意类型,只要是Animal类或者子类,就会自动调用实际类型的run()方法,这就是多态。

【推荐课程:Python视频教学】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。