java第五章继承与多态.ppt
文本预览下载声明
第五章;本节要点和目标;一、继承;(一)继承的含义; 继承实际上是存在于面向对象程序中的两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。;(二)类的继承;// appl5_1派生子类
class CCircle // 定义类CCircle
{ private double pi=3.14;
private double radius;
public CCircle( ) // CCircle( )构造方法
{
System.out.println(CCircle( ) constructor called);
}
public void setRadius(double r)
{ radius=r;
System.out.println(radius=+radius);
}
public void show()
{ System.out.println(area=+pi*radius*radius);
}
};
class CCoin extends CCircle
//定义CCoin类,继承自CCircle类
{ private int value;
public CCoin( ) // CCoin()构造方法
{
System.out.println(CCoin( ) constructor called);
}
public void setValue(int t)
{
value=t;
System.out.println(value=+value);
}
}
;public class appl5_1
{
public static void main(String args[])
{
CCoin coin=new CCoin(); // 建立CCoin对象
coin.setRadius(2.0);
// 调用父类的setRadius() method
coin.show(); //调用父类的show() method
coin.setValue(5); // 调用子类的setValue() method
}
} ;CCircle类(父类);(三)构造方法的继承;// appl5_2构造方法的继承
class superclass //父类
{int x=8;
/*superclass(int y) //父类构造方法
{System.out.println(y);
} */
}
public class appl5_2 extends superclass //子类
{ appl5_2( ) //子类构造方法
{//super(5);
System.out.println(super.x);
}
public static void main(String args[])
{
appl5_2 a=new appl5_2( ); // 建立appl5_2对象
}
} ;(四)this和super;// appl5_3 this和super的使用(1)
class superclass //父类
{int x=8;
}
public class appl5_3 extends superclass //子类
{ int y=9;
appl5_3( ) //子类构造方法
{System.out.println(this.y);
System.out.println(super.x);
}
public static void main(String args[])
{
appl5_3 a=new appl5_3( ); // 建立appl5_3对象
}
} ;二、多态;(一)多态的含义; 所谓多态,是指一个程序中同名的不同方法共存的情况。面向对象的程序中多态的情况有多种,可以通过子类对父类方法
显示全部