第六讲类、对象和接口(二)

合集下载

怎样使用类和对象

怎样使用类和对象

怎样使用类和对象使用类和对象是面向对象编程的核心概念之一、类是一种抽象的数据类型,它定义了一类对象的共同属性和方法。

而对象则是类的具体实例,通过实例化一个类,我们可以创建出多个对象。

使用类和对象能够有效地组织和管理代码,提高代码的可读性和可维护性。

下面我们将从定义类和对象、实例化对象、访问属性和方法、类的继承以及类之间的关系等方面来详细介绍如何使用类和对象。

一、定义类和对象在Python中,我们可以使用关键字class来定义一个类,类的命名通常采用首字母大写的驼峰命名法。

类内可以定义属性和方法,属性是类的状态信息,而方法则是类的行为。

例如,我们定义一个名为Person的类,其中包含一个属性name和一个方法greeting:```class Person:def __init__(self, name): = namedef greeting(self):print("Hello, my name is", )```上述代码中,__init__方法是一个特殊的方法,它用来初始化类的实例。

self参数代表类的实例本身,通过self我们可以访问类的属性和方法。

二、实例化对象在定义了一个类之后,我们可以通过调用类来实例化一个对象。

在Python中,对象的实例化操作非常简单,只需要使用类名后跟上一对括号即可。

例如,我们实例化一个名为Tom的Person对象,并调用其greeting方法:```tom = Person("Tom")tom.greeting```代码执行结果为:Hello, my name is Tom三、访问属性和方法访问类的属性和方法通过使用点运算符(.)来实现。

在Python中,类的属性和方法的访问和调用方式是一样的,都是通过对象名后面跟上一对括号来实现。

例如,我们使用前面定义的Person类,实例化一个名为Tom的对象,并访问其name属性和调用greeting方法:```tom = Person("Tom")print()tom.greeting```代码执行结果为:TomHello, my name is Tom四、类的继承在面向对象编程中,继承使得一个类可以继承另一个类的属性和方法,从而得到更多的功能。

接口的实例对象与类(实现该接口)的对象关系

接口的实例对象与类(实现该接口)的对象关系

接口的实例对象与类(实现该接口)的对象关系首先,接口是一种抽象的定义,其中定义了一组方法的声明,而没有具体的实现。

接口描述了对象的行为,但没有定义其状态。

类则是接口的实现者,通过实现接口中定义的方法,来具体实现这些行为。

在Java语言中,一个类可以实现多个接口。

当一个类实现了一个接口,就可以创建该接口的实例对象。

这个实例对象既可以认为是接口的实例对象,也可以认为是类的实例对象。

这是因为在Java中,接口是引用类型,而接口的实例则是实际对象的引用。

1.继承关系:接口的实例对象可以通过继承的方式,拥有类的所有属性和方法。

当一个类实现了一个接口,它就继承了接口中所有的方法和属性,并且可以通过接口的实例对象来调用这些方法。

这种继承关系描述了一个“是一个”的关系,即这个实例对象是该类的一个实例。

2.多态性:接口的实例对象可以具有多态性。

多态性是指一个接口的实例对象可以引用多个实现该接口的类的对象,从而具有不同的实现。

通过接口的实例对象,可以调用实现了该接口的类的方法。

这种多态性使得代码更加灵活和可扩展。

3.接口的实例对象可以调用接口中定义的方法:接口的实例对象可以调用接口中定义的所有方法,但是不能访问类中的属性和方法。

这是因为接口只定义了方法的声明,没有具体的实现。

因此,只有通过类的对象才能访问和修改类中的属性和方法。

4.类可以通过实现多个接口来增强功能:一个类可以实现多个接口,从而增加其功能。

通过实现不同的接口,可以让类具有不同的行为和特性。

类的对象可以通过接口的实例对象来调用不同的方法,从而实现对应的功能。

总而言之,接口的实例对象与类的对象之间存在一种包含关系,接口的实例对象是类的对象的特殊形式。

通过接口的实例对象,可以调用接口中定义的方法,也可以通过接口实现的多态性来引用实现了该接口的类的对象。

类的对象可以通过实现多个接口来增加功能和特性。

这种关系使得代码更加灵活、可扩展和可重用。

计算机导论杨月江版第六讲

计算机导论杨月江版第六讲
面向对象程序设计方法中涉及的对象是系统中用来描述客观事 物的一个实体,是构成系统的一个基本单位,由一组表示其静态特 征的属性和它可执行的一组操作组成。对象具有的特点是标识唯一 性、分类性、多态性、封装性、模块独立性好等。
(4)继承
继承是面向对象方法的一个主要特征。继承是使用已有的类定 义作为基础建立新类的定义技术。已有的类可被当作基类来引用, 新类可被当作派生类来引用。从广义上说,继承是指能够直接获得 已有的性质和特征,而不必重复定义它们的一种技术。
(1)自顶向下
将复杂的大问题分解为相对简单的小问题,找出每个问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。其 核心本质是分解。
(2)逐步细化
程序设计时间,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。设置完全局的内容后再对局部的问题进行逐 步的细化和具体化
1.2 程序设计的方法-结构化程序设计方法
1.2 程序设计的方法-结构化程序设计方法
常用的程序设计方法有结构化程序设计方法和面向对象的程序设计方法。
20实际70年代,人们提出了“结构化程序设计”的思想和方法。结构化程序设计方法引入了工程思想和结构 化思想,使大型软件的开发和编程都得到了极大的改善。
1.结构化程序设计的方法
结构化程序设计方法的主要观点是采用自顶向下、逐步求精和模块化的程序设计方法。
b 双分支结构
b 当循环结构
b 直到循环结构
结构化程序设计的每种结构只有一个入口和一个出口,这是结构化程序设计的一个原则。根据结构化程序设计方法设计出的程序易 于阅读、理解和维护,同时还提高了程序的工作效率,降低了软件开发的成本。
1.2 程序设计的方法-面向对象程序设计
面向对象方法已发展称为主流的软件开发方法。面向对象的本质就是主张从客观世界固有的事物出发构造系统,提 倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,系统中的对象以及对象之间的关系能够如实地反 映固有事物及其关系。下面了解面向对象方法的一些基本概念。

第六讲 简单IO接口设计

第六讲 简单IO接口设计
更多情况下, CPU 与外设并不同步工作,很难保 证CPU在执行读/写操作时,外设是准备好的,所以在数 据传送前,CPU需要首先通过下面两种方式(查询、中断) 知晓外设的状态,只有在状态准备好时,才能进行传送。
6.1 I/O接口基本概念——控制方式
设备间数据传送方式和控制方式
不同的设备,CPU采用不同的控制方式实现数据的传送。
8088的管脚图
复习
8088 CPU系统的两种组态
复习
课本150/208页图勘误: SA8-SA15->SD8-SD15 实验课上的实验 箱引出了前述5 组常用信号线
复习
8088最小系统的MEM读、写时序
T1 总线时钟 IO/M A19~ A16 /S6~ S3 A15~ A8 AD7~ AD0 ALE RD A7~ A0 T2 T3 T4
T1 总线时钟
T2
T3
T4
① ②
A19~ A16 A7~ A0

IO/M A19~ A16 /S6~ S3 A15~ A8
① ②
A19~ A16 A7~ A0 A7~ A0 D7~ D0


D7~ D0
AD7~ AD0 ALE WR
③ ④ ① ⑤

③ ④



⑦ ⑧
DT/R DEN

DT/R DEN
PC系统中设备繁多,需要通 过接口来区分不同设备; 各设备的工作速度远低于 CPU的速度,需要接口进行 速度匹配; 各设备表示信息的格式与计 算机不同,由接口电路完成 格式转换;
AB
CPU 系统
DB CB
存储器 I/O接口 接口
存储器
I/O设备

面向对象--接口与抽象类、对象和接口(通俗讲解)

面向对象--接口与抽象类、对象和接口(通俗讲解)

面向对象--接口与抽象类的恩恩怨怨接口与抽象类是面向对象编程中两个非常重要的角色,二者各自起着非常重要的作用。

但是很多初学的朋友往往会对使用接口还是抽象类存在的很大的迷惑。

就我自己的一点心得,发表一下拙见。

面向对象的一些回顾:面向对象世界中有一个古老的法则:接口隔离原则,指的是不要把多个功能全部都集中在一个接口里面。

接口实现的功能要相对单一;衍生开来可以得到另外一个结论:对一组或者称一系列功能的实现,尽量定义相对功能单一的小模块来实现这一组功能。

这其实也是解耦和的体现。

那这跟我们的接口和抽象类有什么关系呢?那又得摆出另外一个法则:依赖倒置原则,针对接口编程而不是针对实现编程。

说到这,又会有一个新的问题蹦出来,这是自相矛盾啊,既然要针对接口编程还要抽象类干吗使?我们经常说面向对象,面向对象是来源于生活的。

是人们要把对现实世界中的一系列方法论应用到程序设计当中来。

从对象这一概念的引入我们就可以揣摩这一点。

人类社会中有很多对象的概念,人、车、物体。

不幸的是用程序来实现这些对象比在概念上定义对象要难很多。

(如果能达成这一共识,您可以继续往下看,否则就请看官您移步至留言讨论吧)MS给出开发者的建议是,用抽象类来实现接口。

子类再继承基类。

实例说明:为什么要这么建议?OK,我们试着结合实际来说明一下这个问题吧。

我们要造车。

这个车有个基本的属性就是能移动、还必须有轮子。

那我们就设计一个接口1public interface ICar2 {3 string Wheel4 {5 get;6 set;7 }8 void Move();9 }10接下来的事情,就是实现了。

造什么车都行,继承一下就行。

随着科技的发展,我们的车想要飞了。

此时当然不能修改这个接口,因为要遵循开闭原则。

为什么要遵循?我们可以想一下,人坐上飞机能飞上天。

但是也没见谁认为人有会飞这个特性的。

那也好办,不许修改,那我再加一个接口。

1interface IFlyable2 {3 void Fly();4 }5好,我们的飞行汽车最后应该是这样的。

类、抽象类、接口、继承和对象(java)

类、抽象类、接口、继承和对象(java)

类、抽象类、接口、继承和对象(java)来源:JA V A中文站(www_java-cn_com)这不是什么教材,笔者有时会在论坛上瞧瞧,看到不少初学者问到很多问题,这些问题是java程序员应该懂得的,而一般书上不会讲到或者一笔带过的知识。

因此斗胆涂鸦一篇文章,把想说的在这里一口气说完。

这也是本人第一次写技术性的文章,文笔不畅之外,还请各位见谅。

首先讲清楚类和对象的区别。

类是广泛的概念,表示一个有共同性质的群体,而对象指的是具体的一个实实在在的东西。

例如,“人”是一个类,它可以表示地球上所有的人;而“张三”、“李四”、“爱因斯坦”等则是一个个的对象,或者说它们是“人”这个类的一个个实例。

在Java 中,我们可以定义类,然后创建类的对象。

例如:// 声明一个类“Human”class Human{private String name;public String getName(){实用文档return name;}public void setName(String value){ = value;}//......}创建一个类:Human human = new Human();其次,很多人对对象和对象的引用认识模糊引用是程序操作对象的句柄,相当于C和C++中的指针。

前面说了,对象是一个实实在在的东西,比如前面的代码:Human human = new Human();实用文档程序执行到这里之后,java虚拟机将会在内存中创建一个Human 对象,并将这个对象的引用赋给human 变量。

这里有两步,首先是创建Human 对象,然后把创建的对象的引用赋给human 变量。

如果声明了一个对象的引用,但没有将对象赋值给它,则这个引用指向了空的对象,或者说引用了不存在的对象。

这时如果想通过这个引用访问对象,则会抛出空指针异常,例如:Human human;//......human.setName("张三");下面重点谈一谈类、抽象类、接口和继承之间的关系不少细心的初学者在论坛上问类似这样的问题:1、接口不实现方法,但我却在程序中可以调用接口的方法,这是为什么?比如java.sql 包中的Connection、Statement、ResultSet 等都是接口,怎么可以调用它们的方法呢?实用文档2、抽象类不能实例化,但是jdk中却有很多抽象类的对象,这是为什么?比如System.in 是一个InputStream 类型对象,但InputStream 是抽象类,怎么可以得到它的对象呢?不管怎么样,大家应该明白一点:不管是抽象类中的抽象方法,还是接口中定义的方法,都是需要被调用的,否则这些方法定义出来就没有意义了。

实验报告

实验报告

实验四类,对象和接口一.实验目的(1)掌握类的声明,对象的创建以及方法的定义和调用。

(2)掌握打包机制。

(3)掌握类的继承。

(4)掌握类接口的使用。

二、实验方案(1)//Father.java;package tom.jiafei;public class Father{int height;protected int money;public int weight;public Father(int m){money=m;}protected int getMoney(){return money;}void setMoney(int newMoney){money=newMoney;}}//Jerry.java:import tom.jiafei.Father;public class Jerry extends Father{public Jerry(){super(20);}public static void main(String args[]){Jerry jerry=new Jerry();jerry.weight=200;jerry.money=800;int m=jerry.getMoney();System.out.println("m="+m);}}(2)interface ShowMessage{void 显示商标(String s);}class TV implements ShowMessage{public void 显示商标(String s){System.out.println(s);}}class PC implements ShowMessage{public void 显示商标(String s){System.out.println(s);}}public class Example4_28{public static void main(String args[]){ShowMessage sm;sm=new TV();sm.显示商标("长城牌电视机");sm=new PC();sm.显示商标("联想奔月5008PC");}}(3)求50以内的素数//Number.javapackage sushu;//将Number.java打包到文件夹sushu中public class Number{public void prn()//创建方法prn(){boolean flag ;for (int i=2;i<50;i++){flag = true ;//将flag初始化for (int j=2 ;j <= i/2 ; j++){ //只需对2到i/2之间取余,因为假如i/2到i有某个数x被i整除,则在2到i/2必定能找到一个数y(y*x=i)被i整除if (i%j == 0 ){flag = false ;break;//假如2到i/2有某个数被i整除,则跳出,执行下一次循环}}if (flag == true ){System.out.print(i+"\t");}//若flag为真,则i为素数,输出i的值}}}//Num.javaimport sushu.Number;//引用定义的包public class Num extends Number{public static void main(String args[]){Number num=new Number();num.prn();}}三、实验结果和数据处理(1)(2)(3)实验五数组与字符串一.实验目的(1)掌握一维数组的概念、定义和使用。

Java的对象、类、方法和接口

Java的对象、类、方法和接口

1.1什么叫对象?什么叫方法?什么叫面向对象的程序设计?面向过程的程序设计语言最重要的特点是按照解决问题的一个一个步骤来设计程序。

这种语言是与解决相对比较简单的问题,当程序规模较大时,将显得纷繁复杂。

“对象”原来是描述自然界时使用的一个词语。

比如,现在我正在写讲义,桌上的稿纸、手中的笔、案头的参考书、身后的电脑以及窗外的鸟都可以成为对象面向对象,就是将世界看成由许多彼此之间能联络的对象组成。

不少程序设计语言借用了对象这个词语作为一个专用名词,此时,对象也是具有状态和行为两个特征。

在程序设计中,对象的状态时相对处于静态的,用变量来描述和表达;而对象的行为时动态的,他们通过“方法”来实现和完成,所以方法一定是实现对象行为的语句块。

从功能上讲,方法和子程序、函数很相似。

变量和方法是彼此有关、相互依赖的。

当然,计算机都是用数据来表示对象的状态的,也是通过对数据的操作和修改来体现某个方法的功能的。

1.2 Java作为面向对象的程序设计语言有什么特点?Java是面向对象的程序设计语言,从面向对象这个角度看,体现了如下三个特点:a:封装性—面向对象的程序设计语言都是把数据和处理数据的操作结合在一起而构成一个整体,这就是对象。

对象的使用者只能看到对象的外部特性,比如,其主要功能、如何调用等,而看不到内部如何实现这些功能。

作为面向对象的程序设计语言,程序中的数据就是变量,程序对数据作处理则成为方法。

变量和方法都被封装在对象中。

所以,一个对象就是变量和方法的集合,其中变量表明这个对象的状态,方法实现这个对象所具有的行为,而且在程序中将这些变量和方法进行封装,使它们成为一个模块,再用一个名字来代表这个模块。

这样,以后得更高层的程序设计中,就不必关心某个对象的行为到底是怎样实现的。

可见,将对象封装就是为了使模块尽可能少地展现其内部细节,而只是以一种界面来面向外部。

对象的封装性减少了程序各部分之间的依赖,使程序的复杂性降低,而可靠性提高,并便于修改。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六讲类、对象和接口(二)1类的继承继承是类的另一个特性。

继承的意义在于:我们重复使用或更改现成的类的方法,也可以加入新的数据成员以及新的方法,以满足新环境的需要。

这种技术是所有面向对象的编程语言的一个基本特征。

让我们来看一个例子:前面我们定义了一个Employee类,这只是普通员工,现在我们要定义一个经理类。

经理也是员工的一种,所以Employee类中的数据和方法他也应该有;但经理又不同于普通员工,经理有秘书,而且涨工资的时候还要加上分红。

怎么办?我们要不要从头开始写一个经理类?有了继承的技术,我们可以在Employee类的基础上,编写我们的Manager类。

程序如下:package teach4;import java.util.Date;class Manager extends Employee{private String secretaryName;public Manager(String n, double s, int d){ super(n, s, d);secretaryName = "";}public void raiseSalary(double byPercent){ // add 1/2% bonus for every year of serviceDate today = new Date(2001,1,1);double bonus = 0.5 * (today.getYear()- getHireYear());super.raiseSalary(byPercent + bonus);}public void setSecretaryName(String n){ secretaryName = n;}public String getSecretaryName(){ return secretaryName;}}我们以这个例子为例,学习继承的用法。

首先,请注意这个类的头部有些不同:class Manager extends Employee;其中,关键字extends是扩展的意思,表明Manager类是从Employee类继承而来。

我们把Employee叫做父类或者超类,把Manager叫做子类或者衍生类。

一般来说,子类比父类有更多的功能。

Manager的构造方法中有个语句:super(n, s, d),super是一个关键字,意思是调用父类的方法,在这里是父类,也就是Employee的构造方法;类似地,super.raiseSalary(byPercent + bonus)表示调用父类Employee的raiseSalary方法。

所以,如果要在子类中调用父类的方法,使用super。

Manage的构造方法调用了Employee的构造方法。

事实上,一般要求子类用super语句调用父类的构造方法并附上恰当的参数。

如果没有用super调用,将默认地调用父类的默认构造方法,这时,如果父类没有没有默认的构造方法,编译器将报错。

在子类的构造方法中,如果有super语句,要求super语句在第一行。

子类自动拥有父类的标志为public的成员变量和方法,比如:虽然我们在Manager类中没有定义print()方法,但是boss.print()是合法的,因为print()是Employee类的一个方法。

如果希望改变父类中的方法,使之适合子类,我们也可以覆盖它。

比如,因为经理的提薪方式是:除了上涨百分比,还要加上工龄*0.5的奖金,与普通员工的提薪方式就有不同。

所以,我们要覆盖掉这个方法。

实际上,只要重写这个方法就可以了。

boss.raiseSalary (1.0),将自动调用Manager类里定义的raiseSalary()方法,而不是Employeee里的方法。

但是,如果是私有的成员变量或者方法,也就是用private关键字修饰的那些,那么子类是不能访问的。

如果希望子类能访问而别的类不能访问,我们可以用protected关键字,比如:protected String name;这样,name对于Manager来说是可以可见和可访问的,而对于不是Employee的子类的其他类,则是不能访问的。

总结一下访问权限关键字:public:对全世界来说都是可见的;private:仅对类来说是可见的;protected:对所有子类和同一个包(package)来说是可见的;不声明:如果这三个关键字都没有,那么默认为对整个包可见。

Manager类里定义的setSecretaryName()和getSecretaryName()方法,都只能为Manager 类的对象调用,Employee类的对象是不能调用这两个方法的。

继承可以是几层的。

比如,我们可以以Manager为父类,再衍生出Executive类来。

我们也可以从Employee类衍生出Programmer类来,它与Manager类没有什么关系。

如果希望防止别人从自己编写的一个类中衍生出另一个类,可以加上关键字final,比如,不希望从Manager类中再衍生出别的类,我们可以把Manager类的声明改为:final class Manager extends Employee。

这样可以提高程序的安全性,但可扩展性会受到影响。

我们可以画出类的继承结构如下:2造型也叫强制类型转换。

回忆一下,我们在第二讲的Java的基本语法中,说到基本数据类型的强制类型转换,可以把一个浮点数强制转换为整型,比如:double x=3.14; int nx = (int)x;这样,x=3,把小数部分丢掉了。

我们同样可以把类强制转换为另一个类。

但不是什么时候都可以转换的,只有在继承结构图内部,才能进行强制类型转换。

比如:Manager boss; Employee emp; 下面这个语句:emp=boss,相当于emp=(Employee)boss;因为emp是Employee类型的,而boss是Manager类型的,但是,这时候,emp将不能调用Manager类的方法,比如getSecretaryName(),如果要调用,必须把emp转换回来。

比如:Manager manager; manager=(Manager)emp;这样,manager就可以调用getSecretaryName()了。

但是,如果一个对象确实是Employee类型,现在要把它转换为Manager类型而且试图访问Manager的方法,编译将会通过,但是运行时将会出现异常,程序将中止运行。

3接口前面我们介绍Java的特点的时候说过,Java不允许多重继承,即一个类不允许有多个父类,至多只能有一个父类。

在Java中,取代多重继承的技术是接口。

Java是用接口技术的原因,是因为多重继承要么使编译器非常复杂,要么效率不高。

那么,接口是什么呢?我们可以把接口理解为一个描述框架,里面定义了一些方法,但并不实现这些方法,而是由继承这个接口的类来实现。

这样,如果某一个类继承了一个接口,意思是说:这个类实现了接口所定义的所有方法。

比如,Java的标准库里定义了一个名为Comparable的接口。

只要某个类是可对比的,就可以继承并实现这个接口。

数字型和字符串型都是可比的,所以String, Float, Integer, Double等类都继承并实现了这个接口。

如果我们定义我们的例子中的Employee类业是可比的,以进公司的年份来比较,那么我们也可以继承这个类,并实现它。

(演示)注意,如果继承了一个接口,就必须实现这个接口所声明的所有方法。

4this对象引用有时会有这种情况,想全面地访问当前的对象,而不是某一个特殊的实例变量。

This 关键字引用方法所运作的那个对象。

比如,我们可能经常会遇到这样的构造方法:this()。

这个方法会调用这个类中的另一个构造方法。

我们来看看程序示例。

5 类的包装和引入package和import语句包(Package)由一组类(class)和接口(interface)组成。

它是管理大型名字空间,避免名字冲突的工具。

每一个类和接口的名字都包含在某个包中。

按照一般的习惯,它的名字是由“.”号分隔的单词构成,第一个单词通常是开发这个包的组织的名称。

定义一个包由package语句定义。

如果使用package语句,编译单元的第一行必须无空格,也无注释。

其格式如下:package packageName;若编译单元无package语句,则该单元被置于一个缺省的无名的包中。

即:如果源文件中定义的类在放在同一个包中,但该包没有名字。

import语句用来引入所需要的类。

为了引用已有的类,使用import语句,import语句必须放在package语句(如果有的华)和类的定义之间。

import语句的格式:import 包名.类名比如:import java.applet.Applet;import bel;如果要引用一个包里所有的类,用*表示,比如:import java.awt.*;package语句用来指明该源文件定义的类所在的包,可以把包粗略理解为存放类的文件夹。

比如,ng.*,就是java提供的一个程序包,里面放置了诸如数学方法等很多有用的程序,供大家调用。

我们把package语句叫做包装语句。

为了引用一个类,我们需要用引入语句:import。

比如,我们要使用数学方法(比如求绝对值、求开方等),就要用import ng.Math,然后就可以调用Math里的方法了,非常方便。

包装的作用是方便管理,避免重名。

比如,我们的例子,通过package teach5包装在teach4里的:以后如果谁要用我们的程序中的类,只要用import teach4就可以引用了。

注意,同在一个package里的类,可以直接相互引用,不用import语句。

比如我们例子中,EmployeeTest 类使用了Employee类,但没有用import Employee之类的语句,就是因为它们都被包装在teach5里。

小结这一讲,我们主要学习了类的继承和接口。

至此,我们学习了完Java语言的主要的必备的基础知识。

同学们现在应该可以编写自己的面向对象的应用程序了。

希望同学们多加练习,熟练掌握。

下一讲开始,我们开始面向应用,学习编写小应用程序,也就是Java Applet。

习题1.子类和父类的构造方法调用顺序是怎么样的,举例说明。

2.编程实现“人”类、“学生”类和“大学生”类。

“人”类是“学生”类的父类,“学生”类是“大学生”类的父类。

“人”类的成员变量有:年龄,性别,籍贯;“学生”类的成员变量有:就读学校,成绩考评;“大学生”类的变量有:导师,每月补助。

相关文档
最新文档