JAVA使用抽象类改进面向对象编程测试------JAVA入门基础教程

这篇具有很好参考价值的文章主要介绍了JAVA使用抽象类改进面向对象编程测试------JAVA入门基础教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

package test1;

public class Circle extends GeometricObject
{
    private double radius;
    public Circle(String color,double weight,double radius)
    {
        super(color,weight);
        this.radius = radius;
    }
    public double getRadius() {
        return radius;
    }
    public void setRadius(double radius)
    {
        this.radius = radius;
    }
    public void CircleRound()
    {
        System.out.println("圆");
    }
    @Override
    public double findArea()
    {
        return 3.14 * 3.14 * radius;
    }
    public boolean equals(Object o)
    {
        if(this == o)
        {
            return true;
        }
        if(o instanceof Circle)
        {
            Circle c = (Circle)o;
            return this.radius == c.radius;
        }
        return false;
    }
}
package test1;

public abstract class GeometricObject
{
    protected String color;
    protected double weight;
    protected GeometricObject(String color,double weight)
    {
        this.color = color;
        this.weight = weight;
    }
    public String getColor()
    {
        return color;
    }

    public void setColor(String color)
    {
        this.color = color;
    }

    public double getWeight()
    {
        return weight;
    }

    public void setWeight(double weight)
    {
        this.weight = weight;
    }
    public abstract double findArea();
}
package test1;

public class GeoTest
{
    public static void main(String[] args)
    {
        GeoTest T = new GeoTest();
        Circle c0 = new Circle("red",1.0,2.3);
        Circle c1 = new Circle("red",1.0,3.2);
        T.displayGeometricObject(c0);
        T.displayGeometricObject(c1);
        System.out.println(T.equalArea(c0,c1));
    }
    public boolean equalArea(GeometricObject g1,GeometricObject g2)
    {
        return g1.findArea() == g2.findArea();
    }
    public void displayGeometricObject(GeometricObject g)
    {
        System.out.println(g.findArea());
        if(g instanceof Circle)
        {
            Circle c = (Circle)g;
            c.CircleRound();
        }
        if(g instanceof MyRectangle)
        {
            MyRectangle r = (MyRectangle)g;
            r.Rectangle();
        }
    }
}
package test1;

public class MyRectangle extends GeometricObject
{
    private double width;
    private double height;
    public MyRectangle(String color,double height,double weight, double width) {
        super(color, weight);
        this.width = width;
        this.height = height;
    }
    public double getWidth()
    {
        return width;
    }
    public void setWidth(double width)
    {
        this.width = width;
    }
    public void Rectangle()
    {
        System.out.println("三角形");
    }
    @Override
    public double findArea()
    {
        return width * height;
    }
}

文章来源地址https://www.toymoban.com/news/detail-426416.html

到了这里,关于JAVA使用抽象类改进面向对象编程测试------JAVA入门基础教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【Java零基础入门篇】第 ③ 期 - 面向对象编程(二)

    【Java零基础入门篇】第 ③ 期 - 面向对象编程(二)

    博主:命运之光 专栏:Java零基础入门 学习目标 理解面向对象三大主要特征; 掌握类与对象的区别与使用; 掌握类中构造方法以及构造方法重载的概念及使用; 掌握包的定义、包的作用等; 掌握方法的参数传递规则。 什么是封装? 本意是把物体打包装到箱子里,然后封起

    2024年02月04日
    浏览(12)
  • Java面向对象之抽象类、类、接口分析参考

    Java 抽象类 抽象类不能实例化对象,所以抽象类必须被继承,才能被使用; Java 中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口 1. 抽象方法: 用Abstract 声明抽象方法,只包含一个方法名,没有方法体。方法名后面直接跟一

    2024年02月10日
    浏览(6)
  • 第08章_面向对象编程(高级)(static,单例设计模式,理解mian方法,代码块,final,抽象类与抽象方法,接口,内部类,枚举类,注解,包装类)

    第08章_面向对象编程(高级)(static,单例设计模式,理解mian方法,代码块,final,抽象类与抽象方法,接口,内部类,枚举类,注解,包装类)

    回顾类中的实例变量(即非static的成员变量) 创建两个Circle对象: Circle类中的变量radius是一个实例变量(instance variable),它属于类的每一个对象,c1中的radius变化不会影响c2的radius,反之亦然。 如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(

    2024年01月25日
    浏览(7)
  • 【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

    【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

    🌈个人主页:  Aileen_0v0 🔥系列专栏: Java学习系列专栏 💫个人格言: \\\"没有罗马,那就自己创造罗马~\\\"   目录 回顾  构造方法  this 面试题 构造方法的类型  下节预告 代码块  之前我们学习了什么是类  什么是对象  什么是面向对象编程 定义类   构造方法 :它的方法名

    2024年02月05日
    浏览(12)
  • Rust编程语言入门之Rust的面向对象编程特性

    Rust 受到多种编程范式的影响,包括面向对象 面向对象通常包含以下特性:命名对象、封装、继承 “设计模式四人帮”在《设计模型》中给面向对象的定义: 面向对象的程序由对象组成 对象包装了数据和操作这些数据的过程,这些过程通常被称作方法或操作 基于此定义:

    2023年04月21日
    浏览(8)
  • 【Java语言面向对象】(1)面向过程编程

    【Java语言面向对象】(1)面向过程编程

    人机猜拳的第一版(下方是程序源码) 人机猜拳(面向过程版本) 三部分组成 初始化 游戏开始 游戏数据统计 逐步完成,并阶段测试。 面向过程整体的思路:做一件事,分为多个步骤,每个步骤之间是有序的,最后按序完成。 面向过程的优缺点: 优点:符合人类思维,简

    2023年04月09日
    浏览(10)
  • Java——面向对象编程思想

    如果有人问你,C和Java的区别是什么呢? 我想大部分人肯定脱口而出的是:C是面向过程的,Java是面向对象的。 那如何理解面向过程和面向对象呢? 首先,面向过程和面向对象都是编程思想。 ①面向过程,以C语言为代表,它是按解决一个问题的的流程或者先后步骤来编程的

    2024年02月11日
    浏览(7)
  • JAVA- 面向对象编程(上)

    JAVA- 面向对象编程(上)

      🌈个人主页:  Aileen_0v0 🔥系列专栏: PYTHON学习系列专栏 💫个人格言:\\\"没有罗马,那就自己创造罗马~\\\" 目录 面向对象的特征及理解  new  Static Summary:   面试题:oop的三大特征是什么?  --- 封装,继承,多态 类,对象是什么? 类是自定义类型, 对象是实体 通俗的讲类相当于建房子的

    2024年02月05日
    浏览(6)
  • Java面向对象编程·上

    大家好,我是晓星航。今天为大家带来的是面向对象编程相关的讲解!😀 包 (package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性. 例如, 你在代码中写了一个 Test 类. 然后你的同事也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致代码不能编译通过

    2023年04月15日
    浏览(12)
  • Java面向对象编程

    A.邮件服务的设置文件 B.DHCP的设置文件 C.DNS解析的设置文件 D.网络路由的设置文件 答案:C A.本机网关设置错误 B.本机没有正确设置DNS C.对方运行的是不同的操作系统 D.二层交换机故障 答案:A A.侵入目标服务器,获取重要数据 B.采用穷举的方式获得登录账号 C.发送无效的请求

    2024年02月07日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包