浅谈面向对象程序设计

来源:互联网 发布:杭州知味观礼盒 编辑:程序博客网 时间:2024/05/01 09:25

 我们在分析问题,解决问题的时候,比较好的一个做法是将问题分解。以面向对象的风格编写程序,你就可以将一个问题分解为几个小的组成部分,每个组成部分都能够成为一个小容器,包含相关的数据和代码。这样做的优点在于:你可以有效的降低程序的复杂性,从而能够管理更大规模的程序,解决更为复杂的问题。

地球人都知道的秘密:面向对象程序设计语言具备3个特点:继承、封装、多态。

先来说说继承,这个比较好理解。

继承是指一个对象获得其它对象的属性的过程。有点抽象?那么我们通俗点。例如,你最爱吃的香梨,是梨分类的一种,而梨又是水果分类的一种,而水果呢,又是食物分类的一种。于是我们可以说,食物分类的一些属性(例如:可以吃,有营养,还能在你泡妞的时候当礼物送给MM),也适用于食物的子分类水果。除了这些属性外,水果还有一些它特有的属性(例如,有甜味,解渴),这些特有的属性将水果与其它类型的食物区分开来。而梨又具备一些梨所特定的属性(长在树上,爽口多汁)。香梨呢,将拥有刚才所有分类的这些属性,并且还可以有自己更独特的属性(生长在库尔勒)。在这种从上到下的层次结构中,对象可以从它的上级中拥有所有的公有属性。这就是继承。

再来说说封装。

可能你并不陌生,所有的程序都是由代码和数据两个基本元素组成的,代码是程序执行动作的部分,而数据则是这些动作所影响的信息。封装是一种程序设计机制,它把代码和数据捆绑在一起,并且使之与外界隔离,以确保它们的安全,就像一个黑盒子。我们可以把这样的黑盒子称为一个对象。在对象中,代码和数据都可以成为对象的私有成员或者公有成员。只有对象中的代码才能知道和访问对象中的私有代码或者私有数据。而对象之外的任何代码都不能访问对象的私有成员。如果代码或者数据是对象的公有成员,即使是在这个黑盒子里面,对象外面的其它代码也可以访问它们。通常,我们的做法是用对象的公有成员来提供控制对象私有成员的接口。

最后谈下多态。

多态,意思是多种形式,指一个接口可以被用来执行某一类通用行为的特征,而具体的行为根据特定情况的不同而不同。举个简单的例子,汽车的方向盘。无论你使用什么驾驶系统(手动、自动等),方向盘的作用都相同。可以说你会使用了方向盘,你就可以驾驶任意类型的汽车,不管它是奥迪还是奥拓。方向盘就是接口,实现方向盘的功能,各汽车厂家可以有自己的实现方式。多态的概念,也经常被描述为“一种接口,多种方法”。

这是对面向对象三个特征的简单描述,希望对初学者有所帮助。

 

原创粉丝点击