欢迎来到天天文库
浏览记录
ID:46093273
大小:674.77 KB
页数:23页
时间:2019-11-20
《《Java程序设计教程(第2版)》【迷你书】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第4章Java面向对象编程基础Java语言是纯粹的面向对象的编程语言。因此,面向对象设计开发程序的思想,是Java的核心内容之一。在这一章中,主要介绍Java面向对象编程的基础知识,包括:类、对象、接口等内容。4.1什么是面向对象编程所谓面向对象编程(ObjectOrientedProgramming),是指一种计算机系统程序设计思想。面向对象的一条重要原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成的。面向对象程序设计思想实现了软件工程的3个主要目标:重用性、扩展性、灵活性。计算机信息系统内部由一个个既有属性又有行为的对象组成,这些逻辑对象相互联系,为了实现系
2、统整体目标,每个对象都能够接收来自其他对象的信息、分析处理收到的信息并向其他对象发送处理好的信息。面向对象技术具有封装性、继承性、多态性3大特点。这3大特点,为软件开发提供了一种新的方法学。下面进行详细介绍。4.1.1封装性所谓封装性(Encapsulation),是指将相关的信息、操作与处理包含在一个对象中。封装就是隐藏信息,这是面向对象技术的核心,也是面向对象程序设计的基础。在现实世界中,封装性的例子很多,例如人们无需了解汽车的内部构造就可以驾驶汽车。下面汽车类就描述了封装性在面向对象技术中的主要应用。publicclassCar{privateEngineengine;
3、//引擎privateOilBoxob;//油箱privateWaterBoxwb;//水箱privateGear[]gears;//齿轮privateWheel[]wheels;//车轮publicbooleanrun(){//开车。}pirvatebooleanengineWorking()76第4章Java面向对象编程基础{//引擎工作}privatevoidgearWorking(){//齿轮工作}publicvoidturnRight(){//右拐}publicvoidturnLeft(){//左拐}}在上面的例子中,声明了汽车类(Car),在类中包含了一些属性和行
4、为,详细说明如下。(1)类中封装了一系列的属性,如引擎、油箱、水箱等。(2)类中封装了一系列的行为,如开车、发动机工作、齿轮工作、左拐、右拐等。(3)其他类不能直接操作汽车类的属性。(4)其他类不能直接操作汽车类的引擎工作、齿轮工作行为。(5)其他类可以操作开汽车、转向等行为。通过这样的声明和定义,对象的使用者只能看到对象封装界面的信息,如开汽车、转向等,而汽车内部的处理过程是隐藏的,无法直接加以控制和干预。由于数据和代码封装在对象中,不易被破坏。封装性保证了系统模块化,降低了模块间耦合程度,从而提高了程序的可维护性,简化了软件开发过程,并提高了计算机程序的可靠性、安全性和独
5、立性。4.1.2继承性所谓继承性(Inheritance),是指子类自动共享父类数据结构和方法的机制,这是类之间的一种特殊的关系。在定义和实现一个类时,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。继承性是面向对象技术的最重要的特点。在类层次中,子类只继承一个父类的数据结构和方法称为“单继承”,而子类继承了多个父类的数据结构和方法称为“多继承”。Java语言中只允许单继承,并且所有类都有且仅有唯一的一个最顶层类,Object类。在计算机程序开发过程中,类的继承性使所建立的程序具有高度的开放性和可扩充性,进一步简化了对象与
6、类的创建工作量,增加了代码的可重用性。通过采用继承性,进一步规范了类的组织结构。在客观世界中,常常把具有相同特征的事物归为一类事物,例如客车、卡车、轿车都是汽车。从对象的观点来看,具有共同属性、共同操作,并遵守相同规则的对象的集合就是类。类具有3大要素,属性、事件和方法,而单个对象则是类的具体实例。下面这个例子新定义了客车类(Bus)和货车类(Truck),都作为汽车类的子类,共享汽车类的所有属性和行为。77Java程序设计教程(第2版)publicclassBusextendscar{privateSeat[]seats;//客车座位privateRouter;//客车路线
7、privatedoubleprice;//票价publicbooleancheckTicket(){//查票}}publicclassTruckextendscar{privateCarriagec;//车厢privateGoodsg;//货物publicvoidload(){//装货}publicvoidunload(){//卸货}}本例清楚的定义了客车类(Bus)和货车类(Truck),继承了父类汽车类的所有属性和行为,又加入了各自特殊的属性与行为,详细说明如下。(1)客车类(Bus)加入了客车座位
此文档下载收益归作者所有