查看原文
其他

来了解一下面向对象

小帅b 学习python的正确姿势 2019-04-06



python 是面向对象语言,我们先来了解一下什么是对象,面向对象是干嘛的,下一篇推文在来说说在python中,怎么使用面向对象来编程。


我们开发的程序是给用户使用的,而我们的程序是使用对象来完成产生的。


对象可以看成是对问题的描述的一种解决方案,它与问题空间之间一一映射。也就是将问题抽取成为对象集合。


我们可以将对象看作服务提供者,比如手机这个对象,我们可以用它来聊天,打开闪光灯,砸核桃等。


当每个对象都有各自独特的服务的时候,我们在使用的时候就很方便高效了,我们知道要实现什么功能,就拿什么对象来使用,如果我们对多个对象的各个方面都“组合”的很好的话,那么对代码来说是高内聚的,我们都约定俗成开发程序高内聚是我们追求你之一。

假设在合作开发的时候,有人负责创建类来提供服务,有人收集使用类来快速实现程序开发,我们把第一种人暂且叫类(服务)创建者,第二种人叫做使用服务(类)者。

那么在这种情况下,创建者对自己的类只需要暴露必需的功能给使用者就可以了,使用者无需关心创建者是怎么样实现类的细节,拿来用就好了。

这样创建者会对比较“脆弱”的代码进行封装,使用者无法触及,防止使用者随意修改,减少了bug的产生,还有就是创建者对封装的这些代码修改不会对使用者造成影响,比如类创建者在一开始创建类的时候某功能写的简单了,后来为了提高性能,那么修改这部分代码,实际上对使用者是毫无影响的。

当你发现对象之间存在诸多相似性的时候,并不需要每个都创建独立的对象,可以找出他们的相同点作为基类(父类),进而在衍生出差异的类(子类),这样子父类就包含子类所有共享的行为特性了,子类就以不同的实现方式存在。这就是面向中继承的概念。


某种事物在不同时刻的表现出来的不同状态。 比如说:动物,可以表现为狗,猪,牛等等。这就是面向中多态的概念。




关注我,让你像看小黄文一样轻松学到 Python 的所有!






ps:还没获取我精心准备的 Python 电子书和思维导图等干货的可以在我的公众号「学习Python的正确姿势」中发送 python 免费获取哦! 

   

再ps:说真的,如果你能点个赞转发支持我一下我会更有动力写。



                            顺手,点个赞吧




    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存