谁能跟我说几个JAVA多态,在现实生活中应用的例子,不要说代码和概念,就只说案例

谁能跟我说几个JAVA多态,在现实生活中应用的例子,不要说代码和概念,就只说案例,第1张

有一个比较经典的多态实例:

有一个Animal类,它有Cat,和Dog两个子类,在Animal中有个say方法,当Cat调用这个方法的时候输出的是“小猫喵喵喵”,当Dog调用这个方法时,输出的是“小狗汪汪汪”,这就是Java多态的实现。

1、定义一种动物,该类型的动物有叫的属性。

2、分别定义猫,狗,鸟,都继承于该动物,都有叫的属性。

3、分别表示出各个具体小动物的叫声,例如猫的叫声:喵、狗的叫声:汪、鸟的叫声:咻,点是叫声,实现各个具体小动物用的叫声的方法是用的同一个函数名称,就是动物的叫声函数。

多态:

这个案例网上是没有的,属于无忌独创,当时在帮孩子辅导作业,小学科学,里面有一点内容是关于人的牙齿,说牙齿分为:门齿、犬齿、臼齿

问闺女,为什么这么分呢?闺女说牙齿虽然都是用来咬食物,但是食物种类很多,咬碎需要的工具也不一样,门齿用来切割食物,如:苹果、梨;犬齿用来撕碎食物。

如肉类;臼齿用来磨碎食物,如犬齿撕碎的肉类,就需要再用臼齿来磨碎,然后送到食道,胃,小肠,大肠进行消化。我恍然大悟,这不就是Java面向对象里的多态吗?多完美啊。

这也很好说明了为什么会有多态出现,因为生活中就存在太多这种例子,所以需要多态来匹配解决。

public class SimpleDoWhile {

public static void main(String[] args) {

int index = 1

do {

System.out.println(index)

index = index + 1

} while(index <= 10)

System.out.println("DONE.")

}

}

输出结果为:

do...while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假。

do-while 循环语法格式:

do

{

循环体

}

while (条件表达)//条件表达,可以引用外传感器返回值。

扩展资料:

do...while 和 while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。

和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。

总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。

参考资料:do while-百度百科

public class Rectangle { private double widthprivate double heightprivate String colourpublic 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} public String getColour() { return colour} public void setColour(String colour) { this.colour = colour} public Rectangle(double width, double height, String colour) { super()this.width = widththis.height = heightthis.colour = colour} public Rectangle() { super() } public void getArea(double width, double height, String colour){ System.out.println("矩形的宽:"+width+"cm")System.out.println("矩形的高:"+height+"cm")System.out.println("矩形的颜色 :"+colour)System.out.println("矩形的面积 :" +width*height)} public static void main(String[] args) { Rectangle r1= new Rectangle()r1.getArea(4.0, 2.0, "Red色")Rectangle r2= new Rectangle()r2.getArea(3.0, 6.0, "红色")} }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/7801164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存