欢迎来到天天文库
浏览记录
ID:58418620
大小:1.14 MB
页数:45页
时间:2020-09-07
《面向对象编程(二).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章面向对象编程继承和方法回顾:创建一个类Circle,其中有:一个成员变量r(半径)一个方法clength,能求圆周长一个方法carea,能求圆面积并建立该类的一个对象:一个半径为5的圆,并输出该圆的周长和面积。2收到作业中解决方法:publicclassCircle{intr=5;doublePI=3.14;publicvoidgetClength(){System.out.println(“圆的面积是:"+PI*r*r);}publicvoidgetArea(){System.out.println("圆的周长是:"+2*PI*r);}3publicstaticvoidmain
2、(String[]args){Circlecc=newCircle();cc.getClength();cc.getArea();}}4继承5生活中的继承生活中,继承的例子随处可见动物食草动物食肉动物谁是父类?谁是子类?能说出继承的特点吗?继承需要符合的关系:父类更通用、子类更具体6生活中的继承子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性巴士是汽车吗?卡车是汽车吗?出租车是汽车吗?最大载客数量报站引擎数量外观颜色刹车加速汽车最大载重量卸货所属公司最大载客数量打发票属性行为请问:出租车包含哪些属性和行为呢?7为什么需要继承?开发教师类,其中教师分为Java教师以及.NET
3、教师,各自的要求如下:Java教师属性:姓名、所属教研室方法:授课(步骤:打开Eclipse、实施理论课授课)、自我介绍.NET教师属性:姓名、所属教研室方法:授课(步骤:打开Visualstudio2005、实施理论课授课)、自我介绍8请问:以下这个解决方案中存在着什么问题?为什么需要继承?publicclassDotNetTeacher{privateStringname;//教师姓名privateStringdepartment;//教研室publicDotNetTeacher(StringmyName,StringmyDepat){name=myName;department=
4、myDepart;}publicvoidgiveLession(){System.out.println("启动VisualStudio2005");System.out.println("知识点讲解");System.out.println("总结提问");}publicvoidintroduction(){System.out.println("大家好!我是"+department+"的"+name+".");}}publicclassJavaTeacher{privateStringname;//教师姓名privateStringdepartment;//教研室publicJav
5、aTeacher(StringmyName,StringmyDepart){name=myName;department=myDepart;}publicvoidgiveLession(){System.out.println("启动Eclipse");System.out.println("知识点讲解");System.out.println("总结提问");}publicvoidintroduction(){System.out.println("大家好!我是"+department+"的"+name+".");}}代码存在重复,违背了“writeonce,onlyonce”的原则
6、9如何改进?有没有可能建立继承关系,让子类自动继承父类的属性和方法?Java教师是教师吗?.NET教师是教师吗?publicclassTeacher{privateStringname;//教师姓名privateStringdepartment;//教研室publicTeacher(StringmyName,StringmyDepart){name=myName;department=myDepart;}publicvoidgiveLesson(){System.out.println("知识点讲解");System.out.println("总结提问");}publicvoidint
7、roduction(){System.out.println("大家好!我是“+department+"的"+name+"。");}}现在,所有子类中相同的代码都抽取到父类中了属性行为姓名教研室授课自我介绍教师Java教师.NET教师10为什么需要继承4-4publicclassJavaTeacher2extendsTeacher{publicJavaTeacher2(StringmyName,StringmyDepart){super(m
此文档下载收益归作者所有