首页 > 其他分享 >多态

多态

时间:2022-10-02 14:56:20浏览次数:47  
标签:wide shap double void 多态 length public

灵活调用

替换扩充性强

继承、引用,重写

写一个shap类,有一个方法getArea(),获取图形面积

public class Shap {
    /**
     *写一个方法获取图形面积
     */
    public void getArea(){
        System.out.println("面积");
    }
}

写一个cycle,写一个rectangle,继承shap

写好私有属性,重写getArea()方法求面积

public class Cycle extends Shap {
    private double r;

    public Cycle() {
    }

    public Cycle(double r) {
        this.r = r;
    }

    @Override
    public void getArea() {
        System.out.println("圆的面积:" + 3.14 * r * r);
    }

    public double getR() {
        return r;
    }

    public void setR(double r) {
        this.r = r;
    }
}

rectangle

私有化长乘宽,无参,有参构造器,方法重写

public class Rectangle extends Shap {
    private double length;
    private double wide;

    public Rectangle() {
    }

    public Rectangle(double length, double wide) {
        this.length = length;
        this.wide = wide;
    }

    @Override
    public void getArea() {
        System.out.println("矩形的面积:" + length * wide);
    }

    public double getLength() {
        return length;
    }

    public void setLength(double length) {
        this.length = length;
    }

    public double getWide() {
        return wide;
    }

    public void setWide(double wide) {
        this.wide = wide;
    }
}

写一个测试类ShapDemo,类里面有个getShapArea(Shap shap)用于获取任意图形面积。

打印一个圆和一个矩形对象面积

搞两个对象,写方法,注意static。

public class ShapDemo {
    public static void main(String[] args) {
        Shap shap = new Cycle(10);
        getShapDemo(shap);
        shap = new Rectangle(10.0, 20.0);
        getShapDemo(shap);
    }

    public static void getShapDemo(Shap shap) {
        shap.getArea();
    }
}

标签:wide,shap,double,void,多态,length,public
From: https://www.cnblogs.com/seeingxi/p/16748762.html

相关文章

  • 多态
    多态动态编译:类型即同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件有......
  • 封装,继承,多态
    封装属性私有get/set(有时候设置安全性的判断)提高程序的安全性,保护数据隐藏代码的实现细节同意接口系统可维护增加了继承继承的本质是对某一批嘞的抽象,......
  • 我学习 C++ 运行时多态性的方法
    我学习C++运行时多态性的方法我的简短故事与实施原因。我希望你能明白我做了什么。我创建了一个设计文档。这有望帮助其他人理解我的解决方案。这是链接到员工工厂源代......
  • C#:多态之虚方法、抽象类、接口、 类的序列化、MD5加密。
     (总的来说多态的作用便是解决代码的冗余问题,但代码更加具有可读性,更加的简洁)多态的第一种表现形式:虚方法usingSystem;usingSystem.Collections.Generic;usingSystem......
  • 面向对象---多态的基础语法
    多态的基础语法Q:什么是多态?A:多种形态,多种状态。学习多态基础语法之前,我们需要普及两个概念。注意---java中允许向上转型,也允许向下转型无论是向上转型,还是向下转型,两......
  • 面向对象编程三大特征(封装、继承和多态)
    1基本介绍面向对象编程有三大特征:封装、继承和多态。2封装介绍3封装的理解和好处4封装的实现步骤(三步)5案例不能随便查看人的年龄,工资等隐私,并对设置的年......
  • 13.5 多态的实现
     classStudent:def__init__(self,name,age):self.name=nameself.age=agedef__str__(self):#object中有__str__()方法,用于对......
  • 类与对象——多态
     多态的基本概念多态是C++面向对象三大特性之一多态分为两类静态多态:函数重载和运算符重载属于静态多态,复用函数名动态多态:派生类和虚函数实现运行时多态静......
  • python 封装、抽象、多态和继承的实现
    封装的实现#封装classpeople:def__init__(self,name,money):self.name=nameself.__money=money#私有属性,只能类的内部使用--》数据封装......
  • C#-多态
    在派生类中重写基类的虚方法虚方法的重写publicvirtualvoidMove(){}publicoverridevoidMove(){}classVehicle{stringname;......