您的位置:首页 > 职场人生

黑马程序员----------------------面向对象的理解

2013-12-24 15:12 344 查看
----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流!
--------------------

首先我找了一点权威的:

面向对象是一种的程序设计方法,或者说它是一种程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。

 

    它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。

 

    它可以有不同层次的理解:
从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。
从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。
从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。

 
接下来我还是想说说我自己的理解,其实也不是我自己的理解,是我看了毕老师和张老师的视频后,让我深刻!举几个例子:

什么对象:

举例一:

一个男程序员,他没有对象,那么他回家了做饭,洗衣服,刷锅,洗碗什么的都得自己干,如果他又有了对象,这就好办了,他就可以调用他的对象帮他干了不是,这就是面向对象!

举例二:

当你去一个饭店吃饭,饭店的服务员,厨师,收银员,这些都是封装好的对象,这些对象都有自己的私有方法,有了这些对象,你去了饭店,先调一个服务员,服务员有点菜的方法啊,然后点菜,点完菜你就坐那歇着就行了,服务员呢在调用厨师,把这些点菜的信息给他传过去,厨师有做菜的方法啊!然后咔咔的就把菜给做好了,然后调用一个传菜员,传菜员有传菜的方法,然后给你端过来,你就执行自己吃的方法就行了!假如不是面试对象,是面试过程,就生活中的这个例子,你想怎么把它描述出来,这过程太复杂了!

以上两个例子我记忆深刻,让我瞬间感觉到了面向对象的好处,而且记忆深刻!

封装:

 封装的三个步骤:

1.将属性私有化(修改属性的可见性)

2.设置get/set方法,读取------get  赋值------set

3.设置必要的读取限制

封装的作用:

1.使对象以外的部分不能随意更改对象的属性。

2.避免外部错误操作引起的影响

3.提高松耦合性,代码重用性。

总结:封装就是将属相私有化,提供共有方法来访问私有的属性。

继承:

 什么事继承,就是能够让一个类直接使用另外一个类的属性和方法的途径,并且这个类可以有自己的属性和方法。

  继承的语法:class Subclass extends Superclass{}

子类继承父类的是什么:

1.继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包里。

2.继承默认权限修饰属性和方法,但子类和父类必须在同一包里。‘

继承条件下构造方法的调用规则:

规则一:如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。

规则二:如果子类的构造方法中通过super显示调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法。

规则三:如果子类的构造方法中通过this显示调用自身的其他构造方法,在相应构造方法中应用以上两条规则。

   super调用父类方法时,必须放在子类构造方法的第一行。

多态: 

此问题我曾经在论坛中问过,请看多态的理解

----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流!
--------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息