针对抽象编程与对应的好处

针对抽象编程与对应的好处

简介:针对抽象编程与对应的好处。

代码讲解

下面的代码就是使用抽象编程,我们把基类定义为抽象类,然后了当子类继承的时候,需要重写基类里面的方法,不然会报错。

abstract class Graphics {
    // 定义一个抽象方法
    public abstract double getArea();}

class Circle extends Graphics{
    double r;
    Circle(double r)
    {
        this.r = r;
    }
    public double getArea() 
    {
        return r * r * 3.14;
    }
}
class Rectangle extends Graphics
{
    double a,b;
    Rectangle(double a,double b)
    {
        this.a = a;
        this.b = b;
    }
    public double getArea() 
    {
        return a*b;
    }
}

下面是没有子类没有重写基类的抽象方法。

import java.io.*;
import java.util.*;

abstract class Graphics {
    // 定义一个抽象方法
    public abstract double getArea();}

class Circle extends Graphics{
    double r;
    Circle(double r)
    {
        this.r = r;
    }
    // public double getArea() 
    // {
    //     return r * r * 3.14;
    // }
}
class Rectangle extends Graphics
{
    double a,b;
    Rectangle(double a,double b)
    {
        this.a = a;
        this.b = b;
    }
    public double getArea() 
    {
        return a*b;
    }
}

public class Main
{	
    public static void main(String[] args)
    {
        
    }
}

运行结果
在这里插入图片描述

总结

针对抽象编程,可以使得在基类中的方法一定会被子类重写,这样的好处是,可以防止编写代码的时候子类忘记重写父类的某些方法。
同时对于设计者来说面向让类中每种可能的变化对应的交给抽象类的一个子类去负责,从而让类的设计者不再去关心具体的实现,更好的应对用户需求的变化,将某个类中经常因需求变化需要改动的代码分离出去。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客李华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值