码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象的程序设计(day6)

时间:2018-01-19 13:56:55      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:就是   流程   查找   不能   基于   组成   函数   基本   优点   

一、面向过程与面向对象 面向过程:核心是过程二字,过程即解决问题的步骤,就是先干什么再干什么 基于该思想写程序就好比在设计一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化,进而简单化 缺点:扩展性差,牵一发而动全身 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等。 面向对象:核心是对象二字,对象是特征与技能的结合体 基于该思想编写程序就好比在创造一个世界,世界是由一个个对象组成,是一种“上帝式”的思维方式 优点:可扩展性强 缺点:编程复杂高,容易出现过度设计 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方 面向对象的程序设计并不是全部。对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性。 二、类与对象 类即类别、种类,是面向对象设计最重要的概念;对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体 在现实世界中:一定是先有的一个个具体存在的对象,后总结出的类。 世界上肯定是先出现各种各样的实际存在的物体,然后随着人类文明的发展,人类站在不同的角度总结出了不同的种类,如人类、动物类、植物类等概念。也就说,对象是具体的存在,而类仅仅只是一个概念,并不真实存在 在程序中:一定保证先定义类,后产生对象 这与函数的使用是类似的,先定义函数,后调用函数,类也是一样的,在程序中需要先定义类,后调用类。不一样的是,调用函数会执行函数体代码返回的是函数体执行的结果,而调用类会产生对象,返回的是对象 注意: 1)站的角度不同,定义出的类是截然不同的,详见面向对象实战之需求分析 2)现实中的类并不完全等于程序中的类,比如现实中的公司类,在程序中有时需要拆分成部门类,业务类...... 3)有时为了编程需求,程序中也可能会定义现实中不存在的类,比如策略类,现实中并不存在,但是在程序中却是一个很常见的类 三、属性查找 类有两种属性:数据属性和函数属性 1.类的数据属性是所有对象共享的,id都一样 2.类的函数属性是绑定给对象用的,obj.method称为绑定方法,内存地址都不一样 ps:id是python的实现机制,并不能真实反映内存地址,如果有内存地址,还是以内存地址为准 在obj.name会先从obj自己的名称空间里找name,找不到则去类中找,类也找不到就找父类...最后都找不到就抛出异常

面向对象的程序设计(day6)

标签:就是   流程   查找   不能   基于   组成   函数   基本   优点   

原文地址:http://blog.51cto.com/10630401/2062770

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!