欢迎来到天天文库
浏览记录
ID:62259996
大小:1.14 MB
页数:83页
时间:2021-04-24
《最新JAVA封装、继承与多态教学讲义PPT.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA封装、继承与多态学习目标理解抽象和封装。理解继承和多态。掌握修饰符this和super的使用。24.1类的封装含义:java中,对象就是一个封装体。把对象的属性和服务结合成一个独立的单位,并尽可能隐蔽对象的内部细节(尤其是私有数据)目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而,使软件错误能够局部化,大大减少查错和排错的难度。“隐藏属性、方法或实现细节的过程称为封装。”3父类子类父类/子类是相对的Cow类Lion类Tiger类Animals类Carnivorous类Herbivorous类Coat类示例7继承的优点代码的可重用性父类的属性和方
2、法可用于子类设计应用程序变得更加简单可以轻松地自定义子类8继承继承是面向对象语言中最具有特色,也是与传统最不相同的一个。当一个类获取另一个类中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称为这两个类之间具有继承关系。9继承例子:请确认各类之间的关系planemilitaryplane(军事)passengerplane(客机)cargoplane(货物)fighterplane(战斗机)Airliner(民用机)10飞机军事机民用机r战斗机货物机客机11PublicclassEmployee{Stringname;DatehireDate;Datedat
3、eofBirth;StringjobTitleintgrade;publicStringgetDetails()}PublicclassManager{Stringname;DatehireDate;DatedateofBirth;StringjobTitleintgrade;StringDepartment;publicStringgetDetails()publicvoidGuide()}12ContinuePublicclassmanagerextendsemployee{Stringdepartment;publicvoidGuide()}关键字extends
4、是解决继承问题的13继承类之间的继承关系是面向对象程序设计语言的基本特征一个类(子类)是另一个类(父类)的特例。父类是被继承的,子类是继承的一般性(父类)和特殊性(子类)14Continue新类继承一般类的状态和行为,并根据需要增加自己的状态和行为。由继承而得到的类称为子类(subclass),被继承的类称为父类(superclass)。父类可以是自己编写的类,也可以JAVA类库中的类。利用继承可以有效使用代码的重复使用。JAVA不支持多重继承,即子类只能有一个父类。15继承的定义子类的成员有一部分是子类自己声明定义的。另一部分是从它的父类继承的。子类继承父类的成员变
5、量作为自己的一个成员变量。继承父类的方法作为自己的方法。16CONTINUE使用关键字extends来声明一个类是另一个类的子类。格式如下:class子类名extends父类名例如:classstudentsextendsPeople{}17继承的实现[修饰符]class类名[extends父类]{成员变量声明;成员方法声明;}说明:1、子类将自动继承父类中的protected和public等修饰的非私有属性和方法。2、private属性和方法不能被继承。子类中新增加的属性和方法是对父类的扩展子类中定义的与父类同名的属性是对父类属性的隐藏,同名的方法是对父类方法的覆盖
6、1819继承的JAVA实现classBox{doublewidth;doubleheight;doubledepth;Box()//无参构造函数{width=-1;height=-1;depth=-1;}Box(doublew,doubleh,doubled)//有参构造函数{width=w;height=h;depth=d;}doublevolume()//计算体积{returnwidth*height*depth;}}20继承的JAVA实现classBoxWeightextendsBox{doubleweight;BoxWeight(doublew,doubleh
7、,doubled,doublem)//字类构造函数{width=w;//继承的属性height=h;//继承的属性depth=d;//继承的属性weight=m;//子类特有的属性}}21继承的JAVA实现classDemoBoxWeight{publicstaticvoidmain(Stringargs[]){BoxWeightmybox=newBoxWeight(10,20,15,34.3);//初始化子类对象myboxdoublevol;vol=mybox.volume();//调用继承的父类方法System.out.println("箱子的体
此文档下载收益归作者所有