代码如下:
// BTest.javapackage 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岁,所属科目为猫科,然后狗同样有这些属性告轮,只不过是值不同,这个就是一个多态的形式。子类可以有无限多,在步骤三后面添加即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)