对象介绍!Python的面向对象介绍

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。


1.产生原因

面向对象的编程产生的历史原因:由于面向过程编程在构造系统时,无法解决重用,维护,扩展的问题,而且逻辑过于复杂,代码晦涩难懂,因此,人们开始想能不能让计算机直接模拟现实的环境,以人类解决问题的方法,思路,习惯和步骤来设计相应的应用程序。于是,面向对象的编程思想就产生了。

面向对象的编程的主要思想是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的过程中经历的步骤和行为。对象作为程序的基本单位,将程序和数据封装其中,以提高程序的重用性,灵活性和可扩展性。类是创建对象的模板,一个类可以创建多个对象。对象是类的实例化。

2.设计思维

面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。

而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。

在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念。

3.不同的代码逻辑

a.面向过程:根据业务逻辑从上到下写垒代码

b.函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可

c.面向对象:对函数进行分类和封装,让开发“更快更好更强...”

4. 面向对象思想的理解方法:

面向对象的理解方法其实不难,拿我入门时的一个栗子来讲:

把苹果放进冰箱写成程序

面向过程的写法是:

拿起苹果 找到冰箱 打开冰箱门 找到放置的层位 关闭冰箱门 完成

面向对象的编程是:

定义冰箱属性:可以被打开,哪些层位可以防止苹果,可以被关闭

然后执行:

拿起苹果,放入冰箱,完成

整体的过程如下图:


有没有发现面向对象的比较简洁,而且比面向过程方便易“打理”?

这个可以让你理解下面向对象的优点,面向对象就是你找到编程里那些功能或函数是可以被封装定义到一个对象中,或者他本来就是属于对象的属性的,然后定义进去,使用时取用对应的功能就可以了。

简单讲下一些概念:

私有属性:当然也会涉及到私有属性的说法,意思就是说这个东西是“冰箱”专用的,其他东西放不进去,就好比冰箱中的专门放除臭剂的小格子,那个就是所谓的私有属性,那么外来的东西是用不了的

实例化:这个名词也是经常会理解不了的地方,那就简单的说,商场里的同一款的冰箱功能什么都一样,整体来看对我们来说就是一个冰箱,但是他没有出售,那就是没有归属,当你买了,那么这就是你的冰箱,别人就不能放进去苹果,这就是说,你在定义了这个冰箱(类或函数)之后,当你属于它时,要给它一个归属,也就是实例化,这是谁的,谁可以用

继承:这个简单,就是说这个冰箱的第2代出来了,第2代中使用了第1代中的什么属性,比如那个门的设计一样,保鲜层数相同等,这就是继承,所以不难看出,1代是父类,2代是子类,当然也是可以重新对一些结构做定义,比如2代保鲜层一层我们定义为只能放牛奶的,这也就是方法重写

多态:其实不要想打太难,就是既然我是子类,那么我可以继承使用父类里的功能与属性

好了,就是这样理解,你会发现其实没有那么难!

整理出来的框架如下(写的简单了点):


5.面向对象编程的优点:

a易维护

采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。

b易扩展

通过继承,可以大幅减少多余的代码,并扩展现有代码的用途,同时可以在标准的模块上(这里所谓的”标准”指程序员之间彼此达成的协议)构建我们的程序,而不必一切从头开始。这可以减少软件开发时间并提高生产效率;

c模块化

封装可以定义对象的属性和方法的访问级别,通过不同的访问修饰符对外暴露安全的接口,防止内部数据在不安全的情况下被修改。这样可以使程序具备更高的模块化程度,方便后期的维护和修改。同时,面向对象语言允许一个对象的多个实例同时存在,而且彼此之间不会相互干扰;

d方便建模

虽然面向对象语言中的对象与现实生活中的对象并不是同个概念,但很多时候,往往可以使用现实生活中对象的概念抽象后稍作修改来进行建模,这大大方便了建模的过程。(但直接使用现实中的对象来建模有时会适得其反)。

好了,这一块就到这里了,关于python的基础架构到这里基本上可以说够了,你可以简单的编程了,当然我这写的很快,但是真正学起来,肯定不会这么快的,对于一门编程语言,至少得学一到两个月,你才能说是真正的掌握,因为里面有很多你不常用的零碎的东西,得多用才知道怎么用,如何用的最好,现在只是打基础!

内容预报:

1.Python常用常见的tips

2. Python的细节方法及编程介绍

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容