JAVA多态程序编程

JAVA多态程序编程,第1张

代码如下:

// BTest.java

package com.baidu.demo036

abstract class A {

public abstract void f()

public void g() {

System.out.println("虚袜让Hello")

}

}

class B extends A {

@Override

public void f() {

System.out.println("Hi")

}

}

public class BTest {

public static void main(String[] args) 好誉{

B b = new B()

b.f()

b.g()

}

} // RectTest.java

package com.baidu.demo036

interface Shape {

double computeArea()

}

class Rect implements Shape 差局{

private double width

private double height

public Rect(double width, double height) {

this.width = width

this.height = height

}

@Override

public double computeArea() {

return width * height

}

}

public class RectTest {

public static void main(String[] args) {

Rect rect = new Rect(10, 30)

System.out.println("Are: " + rect.computeArea())

}

}

用 Eclipse 创建一个java项目,把这两个文件放进去运行就可以了。

Class Shape

{

Public:

Shape(){}

~shape(){}

Virtual int area()

}

/* 求所有面积 */

Int total( Vector<Shape*>vecshape);

Vector<Shape*>vecShape

Int total(Vector<Shape*>vecshape)

{

Vector<Shape*>::iterator VecIt

Int ntotal = 0

For( VecIt=vecShape.begin()VecIt!=vecShape.end()VecIt++)

{

ntotal += (*VecIt)->area()

}

Return ntotal

}

Class trangle :public shape

{

Public:

Trangle(){}

~trangle(){}

Int area()

Private:

Int m_nheigh

Int m_nwidth

}

/* 求三角形面积告则悔 */

Int Trangle::area()

{

Return m_nheigh*m_nwidth/2

}

Class rectangle :public shape

{

Public:

Rectangle(){}

~rectangle(){}

Int area()

Private:

Int m_nheigh

Int m_nwidth

}

/* 求矩形盯桥面积 */袜正

Int Rectangle::area()

{

Return m_nheigh*m_nwidth

}

第一步:创建一个父类,如Animal(动物) 类,这个方法中只有方法的定义,没有实现。第二步:创建一个子类,如cat(猫)类,这个方法中实现父类中的所有方法,并进行重写。

第三步:创建一个子类,如dog(狗)类,这个方法中实现父类中的所有方法,并进行重写。

备注:多态实际兄液上是一个父类有特定的属性,如袜尘信动物有名称、年龄、所属科目,之后由子类去实现具体的,如猫,名称是猫,年龄是5岁,所属科目为猫科,然后狗同样有这些属性告轮,只不过是值不同,这个就是一个多态的形式。子类可以有无限多,在步骤三后面添加即可。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存