Educoder - Java继承和多态之abstract类(1,2)

掌握知识点[1-2]

  • abstract类
  • 类的继承

通关源码[1]

/**
 * Create By 刘鸿涛
 * 2021/12/15 8:38
 */
abstract class Employee{
    
    
    String name;
    double salary;
    public abstract void work();
    public abstract void info();
}
class Manager extends Employee{
    
    
    String gender;
    public Manager(String name,double a,String s){
    
    
        this.name = name;
        this.salary = a;
        this.gender = s;
    }
    public void work(){
    
    
        System.out.println("我负责对施工项目实施全过程、全面管理。");
    }

    public void info(){
    
    
        System.out.println("姓名:" + name + ",工资:" + salary + ",岗位级别:" + gender);
    }

}

在这里插入图片描述

通关源码[2]

/**
 * Create By 刘鸿涛
 * 2021/12/15 9:21
 */

// 将 Shape 类改为抽象类
public abstract class Shape {
    
    

    public int width; // 几何图形的宽
    public int height; // 几何图形的高

    public Shape(int width, int height) {
    
    
        this.width = width;
        this.height = height;
    }

    Shape() {
    
    
    }

    // 定义一个抽象方法 area(),返回值类型为 double,计算图形的面积
    abstract double area();

}
// Rectangle 为矩形类,该类继承 Shape 类,并拥有 Shape 类的属性
class Rectangle extends Shape{
    
    

    // 定义一个有参构造器
    public Rectangle(int a,int b){
    
    
        this.width = a;
        this.height = b;
    }

    // 重写抽象方法 area,计算矩形的面积(高*宽),并将计算结果返回
    public double area(){
    
    
        return width * height;
    }
}
// Triangle 为矩形类,该类继承 Shape 类,并拥有 Shape 类的属性
class Triangle extends Shape{
    
    

    // 定义一个有参构造器
    Triangle(int a,int b){
    
    
//        super(width,height)
        this.width = a;
        this.height = b;
    }
    // 重写抽象方法 area,计算三角形的面积(高\*宽/2),并将计算结果返回
    public double area(){
    
    
        return width * height / 2;
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39123467/article/details/121944385#comments_21911747