预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第四章面向对象软件开发基础本章内容4.1面向对象技术基础4.1.1面向对象的基本概念4.1.1面向对象的基本概念4.1.2面向对象的基本特征4.1.2面向对象的基本特征4.1.3面向对象程序设计方法面向对象程序设计方法4.2面向对象程序设计方法的编程语言4.3、面向对象程序设计过程:4.4、面向对象程序设计方法的编程优点4.5、OOP的四个基本机制(特征):抽象、封装、继承与派生、多态性3.继承性通过继承实现代码复用。Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但Java不支持多重继承,即一个类从多个超类派生的能力。◇成员变量的隐藏和方法的重写子类通过隐藏父类的成员变量和重写父类的方法,可以把父类的状态和行为改变为自身的状态和行为。4.多态性在java语言中,多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写实现的动态多态性(运行时多态)。1)编译时多态在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态确定调用相应的方法。2)运行时多态由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。◇重写方法的调用原则:java运行时系统根据调用该方法的实例,来决定调用哪个方法。对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法;如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。在例3-6中,父类对象a引用的是子类的实例,所以,java运行时调用子类B的callme方法。classMember{ staticintclassVar; intinstanceVar; staticvoidsetClassVar(inti){ classVar=i; //instanceVar=i;//类方法不能访问实例变量 } staticintgetClassVar(){returnclassVar;} voidsetInstanceVar(inti) {classVar=i;//实例方法不但可以访问类变量,也可以实例变量 instanceVar=i;} intgetInstanceVar(){returninstanceVar;} } publicclassMemberTest{ publicstaticvoidmain(Stringargs[]){ Memberm1=newmember(); Memberm2=newmember(); m1.setClassVar(1); m2.setClassVar(2); System.out.println("m1.classVar="+m1.getClassVar()+" m2.ClassVar="+m2.getClassVar()); m1.setInstanceVar(11); m2.setInstanceVar(22); System.out.println("m1.InstanceVar="+m1.getInstanceVar ()+"m2.InstanceVar="+m2.getInstanceVar()); } }思考下课!