javase多态性的理解练习题——几何图形

问题描述:

解题思路:

按照题目要求定义相关类即可,在测试类的两个方法中使用多态来完成方法的定义调用~

解题代码:

父类:GeometricObject

public class GeometricObject {protected String color;protected double weight;public GeometricObject(String color, double weight) {super();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 double findArea() {return 0.0;}
}

子类一:Circle

public class Circle extends GeometricObject {private double redius;public Circle(double redius,String color,double weight) {super(color, weight);this.redius = redius;}public double getRedius() {return redius;}public void setRedius(double redius) {this.redius = redius;}@Overridepublic double findArea() {return Math.PI * redius * redius;}
}

子类二:MyRectangle

public class MyRectangle extends GeometricObject {private double width;private double height;public MyRectangle(double width,double height,String color,double weight) {super(color, weight);this.width = width;this.height = height;}public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}@Overridepublic double findArea() {return width * height;}}

测试类:GeometricTest

public class GeometricTest {public static void main(String[] args) {GeometricTest ts = new GeometricTest();GeometricObject c1 = new Circle(2, "红", 1);GeometricObject c2 = new Circle(1, "绿", 2);GeometricObject r1 = new MyRectangle(1, 2, "黑", 1);ts.displayGeometriObject(r1);ts.displayGeometriObject(c1);}public boolean equalsArea(GeometricObject geo1,GeometricObject geo2){if(geo1.findArea() == geo2.findArea()) return true;return false;}public void displayGeometriObject(GeometricObject o) {System.out.println(o.findArea());}
}

运行结果:

Java多态性练习——几何图形相关推荐

  1. java多态计算几何,通过程序设计几何图形、矩形、圆形、正方形、几种类型,能过利用接口和多态性计算几何图形的面积和周长并显示出来...

    /**利用接口和多态性计算几何图形的面积和周长**/ interface Shape {//声明接口Shape final float PI = 3.14f; // 定义常量圆周率 abstract ...

  2. java多态性详解——父类引用子类对象

    Java的多态性 面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作 ...

  3. [转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  4. 深入理解Java多态性

    2019独角兽企业重金招聘Python工程师标准>>> 看过一些关于Java多态性的文章,参考了很多人的理解,加入了一些自己的看法,整理出来供大家参考,不一定完全正确,欢迎大家批评指 ...

  5. java中的多态性_[转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  6. c++多态与java多态性_Java中的多态性

    c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meaning of polymorphism ...

  7. java多态性_深入理解java多态性

    引言:多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个 ...

  8. Java多态性的“飘渺之旅”

    原文出处:斯武丶风晴 摘要: 如何从Java多态性进行飘渺之旅呢? 我们用例子来旅行. 1 朵星人A:人类,是一个很奇妙的物种. 2 朵星人B:他们好像分为两种,嗯 先生,以及美女? 3 朵星人C:对 ...

  9. java 多态性性(转帖合集)

    一  学习core java时,讲了多态与动态绑定过程 该文内容为本人学习Java核心编程第七版时做的学习总结以及一些理解,部分内容为翻译过来的. http://dev.csdn.net/author ...

最新文章

  1. 《LeetCode力扣练习》第31题 下一个排列 Java
  2. .NET中书写XML的一种简单方法
  3. 【NOIP2016】蚯蚓 --队列模拟
  4. mysql可以关联视图_Mysql 五: 数据库自关联、视图
  5. 模仿百度搜索框,进行联想搜索
  6. Convolutional Neural Networks for Visual Recognition 1
  7. [jQuery基础] jQuery对象 -- CSS相关
  8. PHP设计模式——概述
  9. 【EMV L2】CDA复合动态数据认证/应用密文生成
  10. 基于深度学习模型+Attention机制的分类模型构建实践分析【以鸢尾花数据集为例】
  11. 编程规范基础学习笔记
  12. 两个音轨合并_如何将两个音频连接 多个音频/音乐合并
  13. 使用计算机编辑文档的同时 还可播放mp3,win7系统电脑怎么使用Windows Movie Maker剪辑音频文件...
  14. 深度linux系统live版,深度LIVE系统V2.0正式发布
  15. 2017 Multi-University Training Contest 3 solutions BY 洪华敦
  16. winVNC 源代码分析
  17. qq邮箱android版官方,QQ邮箱下载_腾讯QQ邮箱客户端下载【安卓版】-太平洋下载中心...
  18. win10向右键新建中添加可创建的文件类型
  19. 函数(python学习)
  20. Dapp 众筹项目1 合约代码编写

热门文章

  1. 小记安装python的MySQLdb模块
  2. vrrp路由协议实验
  3. python爬虫之 ---------------- 正则表达式(1)
  4. Vue为何采用异步渲染
  5. 手动实现apply、call、bind
  6. laravel接口开发JWTAuth
  7. lisp scheme 果壳_common lisp和scheme的区别
  8. 亚马逊深度学习库_汽车Linux,8位社交,与Amazon的深度学习以及更多新闻
  9. Bootstrap3 滚动监听的使用方法
  10. java fx消息通知_如何设置对话框控件Java FX / Java 8的图标