欢迎来到天天文库
浏览记录
ID:47003407
大小:908.50 KB
页数:32页
时间:2019-12-03
《面向对象的概念和Java实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章面向对象的概念和Java实现-2回顾类是具有相同属性和行为的一组对象的集合,对象是类的实例封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节类可用Class来定义,类的变量和方法可被该类的实例访问,圆点符号用于访问对象的成员,构造函数在创建对象时初始化对象包可用package来申明,可用import来导入包目标理解继承及其特点运用JAVA程序实现继承理解多态及其特点设计运用JAVA程序实现多态掌握访问修饰符和方法修饰符继承父类子类父类/子类是相对的Cow类Lion类Tiger类Animals类Carnivor
2、ous类Herbivorous类Coat类继承的特点继承的特点具有层次结构子类继承了父类的属性和方法切忌:在java中,使用关键字extends来继承类继承的优点继承的优点代码的可重用性父类的属性和方法可用于子类设计应用程序变得更加简单可以轻松地自定义子类继承的JAVA实现演示:示例1编写一个父类使用extends关键字,编写子类classCarextendsVehicles{/**构造方法.*/Car(){}/**显示子类Car的信息.*/voidshow(){System.out.println(“从子类Car中输出
3、的信息");System.out.println(“交通工具的名称-"+name);System.out.println(“交通工具的颜色-"+color);System.out.println(“座位的数量-"+seats);System.out.println("==============================");}}classVehicles{/**存储交通工具的名称.*/protectedStringname="HondaCivic";/**存储颜色信息.*/protectedStringcolor
4、="Red";/**存储座位信息.*/protectedintseats=5;/**构造方法.*/Vehicles(){}/***显示父类汽车的详细信息*/voidshowDetail(){System.out.println("从父类Vehicles中输出的信息");System.out.println("名称-"+name);System.out.println("颜色-"+color);}}publicclassCarTest{/***构造方法*/CarTest(){}/***这是main方法*@paramargs
5、传递至main方法的参数*/publicstaticvoidmain(String[]args){/*声明一个对象*/Carvehicle=newCar();vehicle.show();vehicle.showDetail();}}子类构造方法2-1子类构造方法的名称与类的名称相同先调用父类构造方法,再调用子类构造方法要调用父类构造方法,使用关键字super子类构造方法2-2调用父类构造方法的语法为:super()或super(参数列表);super()方法始终指向调用类的父类切忌:子类永远不会继承父类的构造方法,除了
6、构造方法以外,父类的所有方法和属性都由子类的对象继承调用父类构造方法演示:示例3关键字super的用法classFictionAuthorextendsAuthor{/**存储作者的小说类型.*/Stringstorytype;/**子类构造方法.@paramname传递至构造方法的参数@paramtype传递至构造方法的参数*/FictionAuthor(Stringname,Stringtype){super(name);storytype=type;System.out.println(“从FictionAutho
7、r类输出");System.out.println(“小说类型为"+storytype);}}调用父类构造方法Author(Stringstr){name=str;System.out.println(“从Author类输出");System.out.println(“姓名为"+name);}多态性2-1多态性是指“多种形式”:碳以金刚石和石墨不同形式存在于自然界它使用不同的实例而执行不同操作多态包括方法重写和方法重载(重载不是子类对父类同名方法的重新定义,而是类对自身已有的同名方法的重新定义多态性2-2父类子类-绘制和
8、移动三角形子类-绘制和移动矩形子类-绘制和移动五边形ShapeDraw()Move()TriangleDraw(){DrawTraingle}Move(){MoveTriangleVertices}RectangleDraw(){DrawRectangle}Move(){MoveRectangleCorner}Pen
此文档下载收益归作者所有