欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    java类计算平面图形面积.ppt

    • 资源ID:6510101       资源大小:257.50KB        全文页数:30页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java类计算平面图形面积.ppt

    类的继承,主要内容,学习目标及内容,理解类的继承关系掌握Java类的继承实现理解继承规则掌握super的使用掌握方法重写熟悉构造方法的继承,知识回顾,类是抽象,描述一类事物的特征和行为类的定义成员变量描述对象属性,在类中随意使用构造方法-与类同名、没有返回类型、无需显式调用,创建对象时自动调用、可以重载成员方法完成相应功能、可以重载访问权限-public、protected、缺省、private对象的创建与使用类的实例,是具体化的东西,一、引入什么是继承,汽车:型号、排量、颜色卡车:型号、排量、颜色、载重/汽车类class VehicleString model;/汽车型号float displacement;/汽车排量String color;/汽车颜色/卡车类class TruckString model;/卡车型号float displacement;/卡车排量String color;/卡车颜色float carry;/卡车载重,使用继承代码重用,使用继承描述汽车类和卡车类/汽车类class VehicleString model;float displacement;String color;/描述卡车类,继承汽车类class Truck extends Vehiclefloat load;/卡车载重,其他三个特性继承汽车类的,可以不要重复定义继承是利用已存在的类定义新的类,可以实现代码的重复使用,提高效率继承是类之间的一种一般和特殊的关系。,思考:现实生活中还有哪些对象之间存在继承关系?,二、类的继承语法规范,Java中被继承的类叫父类(超类、基类),继承一个类产生的新类叫子类(派生类)。创建类时通过extends指明是已有类的子类,类修饰符 class 子类名 extends 父类名/类体,定义子类自己的成员变量和成员方法或重写父类的方法,可以来自系统类库,也可以是用户自定义类,Java中类的继承体现,子类继承父类的体现:继承父类的所有成员变量和方法;重写父类的方法;增加自己新的属性和方法。子类是作为另一个类的扩充或修正而定义的一个类,子类总比父类多一些东西。,类的继承规范,说明:(1)Java不支持多重继承。每个子类只能有一个父类(2)继承关系可以传递每个子类也可能成为将来某个类的父类直接父类:子类直接继承的类间接父类:两级或两级以上的关系(3)Java中若未明确指定父类,则默认继承Object类,Java类层次结构,除了根类,每个类都一个唯一的父类,三、继承的实现父类定义,public class Shape1/图形类父类int sideNumber;/边数String type;/类别public void setSideNumber(int sideNumber)this.sideNumber=sideNumber;switch(sideNumber)case 1:type=圆;break;case 3:type=三角形;break;case 4:type=矩形;break;default:type=本程序无法计算!;public String getType()return type;,继承的实现子类定义,public class Circle1 extends Shape1 double radius;public double getRadius()return radius;public void setRadius(double radius)this.radius=radius;public double getArea()double area=Math.PI*radius*radius;/计算圆的面积return area;public double getPerimeter()return 2*Math.PI*radius;/计算并返回圆的周长,思考:Circle类中有哪些属性和方法?,继承的实现测试类定义,public class TestCircle1 public static void main(String args)Circle1 myShape=new Circle1();myShape.setSideNumber(1);/调用超类的方法myShape.setRadius(5.2);/调用子类的方法System.out.println(“myShape的类别是:+myShape.getType();double area=myShape.getArea();System.out.println(myShape的面积是:+area);System.out.println(myShape的周长是:+myShape.getPerimeter();,课堂实践,定义图形类的子类:三角形类和矩形类,分别计算其面积及周长。理解动物类之间的继承关系,通过Java类的继承体现各种动物之间的关系。,小结,继承可以简化类的定义,实现代码重用Java是单继承的,父类只能有一个Java的继承可以传递,可以有多层结构每个子类只增加自己独特的属性和方法子类内除了自己定义的属性和方法外,还有继承到的父类的非私有的属性和方法Java通过接口实现类似多重继承功能,四、继承规则,父类和子类在同一个包父类中private修饰的成员不能被子类继承。父类中缺省、protected和public修饰的成员都被子类继承父类和子类在不同一个包 子类继承父类时同样要求能够找到超类,因此父类必须有package语句,子类必须有import语句,父类还必须有public修饰符父类中private和缺省修饰的成员不能被子类继承父类中proteded和public修饰的成员都被子类继承父类的成员可以在子类中直接使用,但不能通过子类对象使用,访问修饰符的控制范围,:可访问:可继承,类的继承继承规则图示,包2,子类2,Public SuperClass,子类1,public int b;protected int c;,int a;public int b;protected int c;private int d;,int a;public int b;protected int c;,包1,被继承到,被继承到,被继承到,被继承到,被继承到,no,import,五、变量隐藏和方法重写,子类对父类可做扩展和特殊化创建新的成员:变量或方法重新定义父类中已有的变量:变量隐藏重新定义父类中已有的方法:方法重写(覆盖)(overwrite 或override),变量隐藏,子类重新定义从父类继承的完全相同的变量称为变量隐藏。变量隐藏后变量的处理当子类执行继承自父类的操作时,处理的是父类的变量当子类执行自己定义的方法时,操作的是自己的变量,把父类的变量“隐藏”起来,class Person String id;String name;String address;public void showName()System.out.println(name);,class Student extends Person String address;/重新定义父类变量 public void showInfo()showName();/调用父类的方法 System.out.println(“Student:“+address);/使用的是子类的address,方法的重写(覆盖),重写是子类根据需要重新定义继承自父类的方法,使子类具有自己的行为。子类中的重写的方法应与父类中的被覆盖的方法有完全相同的:方法名称、参数列表、返回值类型。重写时,修改方法的修饰权限只能从小到大 private defaultprotectedpublic,class Employee String name;public void showInfo()System.out.println(name);,class Manager extends Employee String department;public void showInfo()System.out.println(name);System.out.println(“Manager of”+department);,示例:隐藏和覆盖,class MyClassprotected String s=a member of MyClass;protected void test()System.out.println(s);public class MySubClass extends MyClasspublic String s=“a member of MySubClass”;/隐藏public void test()/重写super.test();System.out.println(s);public static void main(String args)MySubClass msc=new MySubClass();System.out.println(msc.s);msc.test();,a member of MySubClassa member of MyClassa member of MySubClass,示例:成员隐藏-方法覆盖,class Aint x=1234;void show()System.out.println(class A:);class B extends Adouble x=567.89;void show()super.show();System.out.println(calss B:);,class C extends Bchar x=c;void showABC()System.out.println(super.x);System.out.println(x);super.show();show();void show()System.out.println(class C:);class OverTestpublic static void main(String args)C cc=new C();cc.showABC();,567.89cclass A:calss B:class C:,成员隐藏,对变量名相同重新定义,类型可以不同方法覆盖:方法名称、参数列表、返回值类型必须相同,六、this和super,系统默认,每个类有null、this和super三个域,直接使用this 引用自身对象super 引用父类对象this的主要作用是将自身对象当作参数,传给别的对象的成员方法super用来引用父类中的(被覆盖的)方法、(被隐藏的)变量及构造方法。this和super可以调用当前对象或父类对象的构造函数,七、构造方法的继承 原则,子类没有定义构造方法使用默认构造方法,无条件自动继承父类无参构造方法,并在创建新子类对象时自动执行。子类定义自己的构造方法若子类的构造方法中没有super()语句,创建对象时系统将先自动调用继承自父类的无参构造方法,再执行自己的构造函数。子类的构造方法定义中,如要调用父类的含参数的构造方法,需用super关键字,且该调用语句必须是子类构造方法的第一个可执行语句。构造方法可利用this调用本类其他的构造方法,此时this应是第一个可执行语句。,public class A extends F5 private F1 f1=new F1();private F2 f2=new F2();A()System.out.println(A);public static void main(String args)A a=new A();class F1 F1()System.out.println(F1);class F2 F2()System.out.println(F2);class F3 F3()System.out.println(F3);class F4 extends F3 F4()System.out.println(F4);class F5 extends F4 F5()System.out.println(F5);,构造方法的调用顺序-面试和资格考试重点,F3F4F5F1F2A,有父类的话先调用父类的构造方法,如果父类之上还有父类,则继续向上调用,直到最顶层父类为止,再一层一层向下调用其它父类的构造方法;当调用完最靠近子类的父类的构造方法时,执行本子类成员对象的构造方法;执行子类的构造方法。,课堂练习思考,class Meal Meal()System.out.println(Meal);class Bread Bread()class Cheese Cheese()class Lettuce Lettuce()class Lunch extends Meal Lunch()class PortableLunch extends Lunch PortableLunch()class Sandwich extends PortableLunch Bread b=new Bread();Cheese c=new Cheese();Lettuce l=new Lettuce();Sandwich().public static void main(String args)new Sandwich();,Meal()Lunch()PortableLunch()Bread()Cheese()Lettuce()Sandwich(),课后作业:构造方法的继承规则,class SuperClassprivate int n;SuperClass()System.out.println(SuperClass();SuperClass(int n)System.out.println(SuperClass(+n+);this.n=n;class SubClass extends SuperClassprivate int n;SubClass()super(100);System.out.println(SubClass();SubClass(int n)System.out.println(SubClass(+n+);this.n=n;public static void main(String args)SubClass sc1=new SubClass();SubClass sc2=new SubClass(200);,总结,继承可以实现代码复用继承规则同一个包内不同包内变量隐藏方法重写(重载的区别)this和super关键字构造方法的继承和调用顺序,下课!,

    注意事项

    本文(java类计算平面图形面积.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开