欢迎来到天天文库
浏览记录
ID:55596795
大小:123.50 KB
页数:20页
时间:2020-05-20
《java 的继承与多态(一).ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、第9讲Java的继承与多态(一)类的继承子类的创建方法覆盖目标理解继承的概念掌握通过父类创建子类的方法理解子类和父类构造方法的执行顺序掌握实现方法覆盖的方法面向对象特性概述继承、封装、多态是面向对象程序设计的3个重要特性。通过继承,以既有类为基础,派生出新类,达到代码重用的目的;通过封装,对类对象的数据成员进行访问控制,起到数据保护的作用;通过多态,程序能够动态的匹配同名方法,使程序更加灵活。继承的基本概念继承是一种由已有的类创建新类的机制。利用继承,可以先创建一个公有属性的一般类,根据一般类再创
2、建一个具有特殊属性的新类。新类继承一般类的状态和行为,并根据需要增加它为自己的新的状态和行为。由此继承而得到的类为子类,被继承的类为父类(超类)。JAVA不支持多继承(子类只能有一个父类)。人学生教师教辅人员外语系学生计算机系学生旅游系学生计算机网络专业学生软件技术专业学生计算机多媒体专业学生计算机教育专业学生classPerson//定义Person类{protectedStringname;protectedStringsex;protectedintage;……Person类的方法}clas
3、sStudentextendsPerson{privateStringdepartment;//系别privateStringspecialty;//专业……Student类的方法}通过Person类派生出Student类。Student类继承自Person类,拥有Person类的所有方法和属性。通过关键字extends实现继承//Ex6_1.javaclassPerson//定义Person类{protectedStringname;//姓名protectedStringsex;//性别prot
4、ectedintage;//年龄publicvoidregister(Stringn,Strings,inta)//设置数据成员{name=n;sex=s;age=a;}StringgetName()//获取姓名{returnname;}StringgetSex()//获取性别{returnsex;}intgetAge()//获取年龄{returnage;}publicvoidshowMe()//显示人员信息{System.out.println("姓名:"+name+",性别:"+sex+",年
5、龄:"+age);}}Person类的定义classStudentextendsPerson{//定义Student类,是Person类的子类。privateStringdepartment;//系别privateStringspecialty;//专业publicvoidstudentRegister(Stringn,Strings,inta,Stringdep,Stringspe){//设置数据成员register(n,s,a);department=dep;specialty=spe;}St
6、ringgetDepartment()//获取学生所在系{returndepartment;}StringgetSpecialty()//获取学生所学专业{returnspecialty;}publicvoidshowStudent()//显示学生类数据成员{System.out.println("姓名:"+name+",性别:"+sex+",年龄:"+age+",系别:"+department+",专业:"+specialty);}}通过extends关键字,由Person类派生出Student
7、类publicclassEx6_1{publicstaticvoidmain(Stringargs[]){Studentstudent1=newStudent();student1.studentRegister("张三","男",18,"计算机","软件开发");student1.showStudent();}}运行结果:姓名:张三,性别:男,年龄:18,系别:计算机,专业:软件开发程序分析:本例中的Person类是父类,它派生出子类Student类。Student类继承了Person类的nam
8、e属性,sex属性,age属性,GetName()方法,GetSex(),ShowMe()方法等。同时,Student类对Person类进行了功能扩展,又增加了department,specialty属性和GetDepartment()、GetSpecialty()、ShowStudent()等方法。说明继承能够使子类拥有(继承)父类的非私有属性和方法(即可以继承public、protected和默认访问属性的成员),而不需要在子类定义时重新定义父类中的这些同名属性和方法。当修改父
此文档下载收益归作者所有