【摘要】:面向对象编程方法是占据当今市场的主流,也是高校计算机专业重点开设程序设计课程,对面向对象思想进行了研究,试图从现实世界入手,让学生从本质了解面向对象的本质及其优势。
【关键词】:面向对象;封装;继承;多态;
引言
1.1传统开发方法的问题:
结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下将一个大的问题按功能划分为一些小的问题模块,直到仅剩下若干个容易实现的子处理功能为止,然后用相应的工具来描述各个最低层的处理。在很长一段时间,结构化程序设计方法备受程序员的欢迎,尤其是中小型问题的处理。但随着问题复杂性的变化,用户需求的变化,基于过程设计的结构化程序设计方法就面临着灾难性的打击。其问题主要存在于:
软件重用性差,软件可维护性差,开发出的软件渐渐不能满足用户的需要。
1.2面向对象思想的产生:
基于传统开发方法存在的问题,20世纪90年代初,面向对象编程开始占据市场的主流,并随着面向对象的概念的发展,其应用已远远超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等等。
1.3面向对象教学:
面向对象的程序设计语言非常广泛,其中包括占据市场的两大主流,java和。Net平台,
但学生在学习过程中往往不能很好的把握其本质,尤其是面向对象的三大特征的应用,本文试图用形象的语言描述这些概念,帮助学生更好的理解面向对象的本质。
面向对象的基本概念
程序设计语言经历了机器语言—中级语言—高级语言的过程,而面向对象语言称之为高
级语言,同时也意味着面向对象语言更接近于人的思维,因此,我常说,学习面向对象编程最直接的方式就是理论联系实际。
2.1对象。人们要研究的任何事物。有人把这比喻成一个哲学概念,大到日月星辰,小到尘
埃微粒。而我把它看成现实世界中的任意一个个体,环顾四周,一张纸,一本书,一张桌子等等。
2.2类。具有相同或相似性质的对象的抽象。很多初学者不能很好的体会类的概念,翻开字
典,看到“class”,我们就会发现其原意为“种类、把。。。分类”的意思,在日常生活中,我们也习惯了分类,譬如动物,植物,而动物中又存在高级动物,例如我们人类,再比如,进入超市,又会发现分为食品区,日常用品区,家电区等等。在面向对象设计时,也会存在很多具有相同特性的对象,我们提取其相同的属性和方法为对象设计模板,这种模板叫做类。因此,对象是类的实例化,而类是对象的抽象。
方 法
属性
封装。封装是面向对象编程的特征之一,也是类和对象的主要特征。封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件--类。外部无法直接访问这些封装了的数据,从而保证了这些数据的正确性。其大致原则尽可能隐藏所有
属性,只提供与外界相应的接口。 外界访问
以java语言为例:
class Student
{
//私有成员,外界无法访问 图1:类
private String name;
//公有成员方法,与外界的接口
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
}
可以看出,具体在面向对象程序设计中体现在:
< >成员方法的设计。成员权限的使用。继承。面向对象编程 (OOP) 语言的一个主要功能就是“继承”。谈到继承,我们常常会从父类继承而来的成员。自身添加到成员父类成员不符合要求而重写的成员。多态(Polymorphism)。允许子类的对象被看作父类对象使用,而父类对象可以多态的优点在于接口的统一,接口重用,对待不同的对象,例如自行车,公交车等只需要发出一个消息接口,就是红灯代表停车,不同的对象会根据自身的特点实施不同的动作,实现相同的功能停车。 多态的作用是保证同一“家谱”中的成员做正确的操作,也就是多态的对象应该具有共同的父类。