java面向对象程序设计1

java面向对象程序设计1

ID:36710815

大小:256.00 KB

页数:33页

时间:2019-05-10

java面向对象程序设计1_第1页
java面向对象程序设计1_第2页
java面向对象程序设计1_第3页
java面向对象程序设计1_第4页
java面向对象程序设计1_第5页
资源描述:

《java面向对象程序设计1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章面向对象程序设计本章学习目标面向对象程序设计的基本思想面向对象程序设计的基本概念面向对象程序设计的特征面向对象程序设计的基本方法Java面向对象程序设计的基本实现4.1面向对象的基本概念4.1.1对象在面向对象的程序设计中,对象是具有属性和操作的实体。属性又称为状态,操作又称为方法或行为。4.1.2消息对象之间进行交互作用和相互联系是通过消息传递来实现的。消息用来请求对象来执行某一处理或回答某些信息的请求,一个对象在执行相应的处理时,根据需要可以通过传递消息来请求其他对象完成某些处理工作或回答某些信息。其他对象在执行所要求的处理活动时,同样也可以通过传递消息与另外的对

2、象联系。所以,程序的执行是靠在对象之间传递消息来完成的。4.1.3类在面向对象的系统中,引入类的概念,统一刻画描述具有相同结构、相同行为特点(也即操作)的对象集合。类是对具有相似行为的对象的一种抽象,描述了属于该类型的所有对象的性质。因此,对象指的就是类的实实在在的一个例子,称为实例。4.1.4面向对象的基本特征1.封装性2.继承性3.多态性4.2类和对象4.2.1类的声明和类成员类名属性数据成员方法FruitbooleanseedlessbooleanseasonalfloatpricevoidsetProperties(boolean,boolean,float)voi

3、dprintProperties()4.2.2方法重载重载方法是那些位于同一个类中同名但具有不同参数列表的方法。重写方法是那些既存在于超类中又存在于子类中的方法。重载方法采取编译时多态性形式,而重写方法采取运行时多态性形式。4.2.3构造方法与对象的创建构造方法是一种特殊的方法,它没有返回类型并且与类具有相同的名称。一般来说,每个类通过定义构造方法来初始化它的成员变量。在创建对象时,它的构造方法被自动调用。如果类中没有定义构造方法,则编译器向该类提供默认的构造方法。4.2.4修饰符staticstatic修饰符可以与变量、方法一起使用。类中的静态变量、方法完全独立于该类的任

4、何对象,并不具体到实例。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象,它们可以与类的名称一起使用,而无需创建类的对象来访问类的静态成员。4.2.5关键字this“this”关键字与对象关联,格式为:this.对象。它代表“这个类”或“当前正在使用的类”。this可以在引用当前对象的所有方法内使用,也就是,this总是调用该方法对象的一个引用。4.3继承4.3.1类继承概述可以创建一个通用类,它定义一系列相关项目的共同特性。该类可以被更具体的类继承,每个具体的类都增加一些自己特有的东西。被继承的类称为父类,继承父类的类称为子类

5、。4.3.2类继承的实现声明一个继承父类的类,一般格式如下:classsubclass_nameextendssuperclass_name{//类体的定义;}4.3.3成员变量的隐藏和方法的重写在类的层次结构中,如果子类中的一个方法与父类中的方法有相同的名称并且具有相同数量和类型的参数列表,则子类中的此方法将替代父类中该方法的定义。这称为子类中的方法重写或覆盖(override)了父类中的方法。4.3.4关键字superJava提供了super关键字来解决如何直接访问或初始化从父类继承过来的属性。一个子类需要引用它的直接父类,可以用关键字super来实现。Super有两种

6、通用的形式。第一种是调用父类的构造函数,第二种是用来访问被子类的成员覆盖的父类成员。super关键字最常用在对象的构造函数中,将构造细节通过继承链往上传递。子类可以调用父类中定义的构造函数。其格式如下:super(paramter-list);其中,parameter-list定义了父类中构造函数所用到的所有参数列表。4.3.5修饰符final1.fianl类:当一个类被声明为final时,表明该类不能被继承。2.fianl方法:声明为final的方法不能被重写。3.fianl变量:声明为final变量后只能被初始化一次然后就不能对其值进行修改。声明为final的变量在实例

7、中不占用内存,这样一个final变量实质上是一个常量。4.4抽象类如果我们需要定义一个父类,此父类能为其子类声明结构却不能为方法定义有意义的实现过程。也就是说,有时我们需要创建一个父类,此父类只定义可被其所有子类共享的一般形式,而让子类来补充细节。这种类就是抽象类。4.4.1抽象类的声明abstractclass类名{//抽象类的实现代码}4.4.2抽象类的使用如果一个类是抽象类,就不能创建这个类的对象,也就是说,一个抽象类不能通过new操作符直接实例化,必须使用继承的方法来访问抽象类中的成员。换句话说,抽象类的作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。