標題:
繼承 (一)
[打印本頁]
作者:
tonyh
時間:
2021-7-2 18:56
標題:
繼承 (一)
所謂繼承(Inheritance)是一種類別之間的關係,可以利用現有類別衍生出新的類別,新的類別可以與現有類別分享共同的屬性、方法與資料結構等,在物件導向程式設計中利用繼承,可以達到程式碼重複使用的優點。
繼承功能可以在建立新類別時,修改、添加或繼承現有類別的定義。建立一種類別後,如果須要再建立許多大同小異的類別,就可以利用繼承特性,分別繼承這個現有的類別,並且將差異部分加以修改或添加。
被繼承的類別稱為父類別或基礎類別(Base Class),而經由繼承產生的類別,則稱為子類別或衍生類別(Derived Class),子類別不僅可以繼承父類別的特性(屬性與方法),也可以修改或添加特性。
C++支援多重繼承(一個類別擁有多個父類別),但Java不直接支援多重繼承,類似的機制則必須透過介面來完成。
歸納上述,關於繼承的四大特性如下:
1.子類別可以繼承父類別的特性。
2.子類別可以添加新的特性。
3.子類別可以修改並重新定義自父類別繼承下來的特性。
4.子類別繼承父類別時,不需要複製父類別的程式碼,造成程式碼重複。
public class Ch68 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double weight;
Animal(String n, int a, double w)
{
name=n;
age=a;
weight=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+weight+"公斤.");
}
}
class Dog extends Animal
{
Dog(String n, int a, double w)
{
super(n,a,w);
}
}
class Cat extends Animal
{
Cat(String n, int a, double w)
{
super(n,a,w);
}
}
複製代碼
作者:
陳宥穎
時間:
2021-7-2 20:32
public class Ch02 {
public static void main(String[] args) {
Dog d1=new Dog(2,20,"球球");
Dog d2=new Dog(1,30,"憨憨");
Cat c1=new Cat(3,20,"啾啾");
d1.show();
d2.show();
c1.show();
}
}
class Animal
{
int age;
int wi;
String name;
Animal(int a, int w, String n)
{
age=a;
wi=w;
name=n;
}
void show()
{
System.out.println(name+"今年"+age+"歲,體重"+wi+"公斤.");
}
}
class Dog extends Animal
{
Dog(int a,int w,String n)
{
super(a,w,n);
}
}
class Cat extends Animal
{
Cat(int a,int w,String n)
{
super(a,w,n);
}
}
複製代碼
作者:
黃宥華
時間:
2021-7-2 20:34
public class CH01 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.show();
d2.show();
c1.show();
}
}
class Animal {
String name;
int age;
double we;
Animal(String n,int a,double w){
name=n;
age=a;
we=w;
}
void show()
{
System.out.println(name+"今年"+age+"歲,體重"+we+"公斤");
}
}
class Dog extends Animal{
Dog(String n, int a, double w) {
super(n, a, w);
}
}
class Cat extends Animal {
Cat(String n, int a, double w) {
super(n, a, w);
}
}
複製代碼
作者:
劉愷鈞
時間:
2021-7-2 20:34
public class Ch01 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal
{
String name;
int age;
double weight;
Animal(String n,int a, double w)
{
name=n;
age=a;
weight=w;
}
void showProfile()
{
System.out.printf("%s今年%d歲,體重%.2f公斤%n",name,age,weight);
}
}
class Dog extends Animal
{
Dog(String n,int a,double w)
{
super(n,a,w);
}
}
class Cat extends Animal
{
Cat(String n,int a,double w)
{
super(n,a,w);
}
}
複製代碼
作者:
林政瑜
時間:
2021-7-2 20:34
public class Ch68 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double weight;
Animal(String n, int a, double w)
{
name=n;
age=a;
weight=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+weight+"公斤.");
}
}
class Dog extends Animal
{
Dog(String n, int a, double w)
{
super(n,a,w);
}
}
class Cat extends Animal
{
Cat(String n, int a, double w)
{
super(n,a,w);
}
}
複製代碼
作者:
夏子涵
時間:
2021-7-2 20:35
public class Ch68 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double weight;
Animal(String n, int a, double w)
{
name=n;
age=a;
weight=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+weight+"公斤.");
}
}
class Dog extends Animal
{
Dog(String n, int a, double w)
{
super(n,a,w);
}
}
class Cat extends Animal
{
Cat(String n, int a, double w)
{
super(n,a,w);
}
}
複製代碼
作者:
孫嘉駿
時間:
2021-7-2 20:38
public class Ch01 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double w;
Animal(String n, int a, double w){
name=n;
age=a;
this.w=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
}
}
class Dog extends Animal{
Dog(String n, int a, double w){
super(n,a,w);
}
}
class Cat extends Animal{
Cat(String n, int a, double w) {
super(n, a, w);
}
}
複製代碼
作者:
李宇澤
時間:
2021-7-2 20:38
public class Ch56 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double weight;
Animal(String n, int a, double w)
{
name=n;
age=a;
weight=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+weight+"公斤.");
}
}
class Dog extends Animal
{
Dog(String n, int a, double w)
{
super(n,a,w);
}
}
class Cat extends Animal
{
Cat(String n, int a, double w)
{
super(n,a,w);
}
}
複製代碼
作者:
蔡忻霓
時間:
2021-7-2 20:40
public class Ch68 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double weight;
Animal(String n, int a, double w)
{
name=n;
age=a;
weight=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+weight+"公斤.");
}
}
class Dog extends Animal
{
Dog(String n, int a, double w)
{
super(n,a,w);
}
}
class Cat extends Animal
{
Cat(String n, int a, double w)
{
super(n,a,w);
}
}
複製代碼
作者:
黃柏叡
時間:
2021-7-2 20:46
public class Ch1 {
public static void main(String[] args) {
dog d1=new dog("憨憨",2,1.28);
dog d2=new dog("球球",1,1.35);
cat c1=new cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double weight;
Animal(String n, int a, double w)
{
name=n;
age=a;
weight=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+weight+"公斤.");
}
}
class dog extends Animal
{
dog(String n, int a, double w)
{
super(n,a,w);
}
}
class cat extends Animal
{
cat(String n, int a, double w)
{
super(n,a,w);
}
}
複製代碼
作者:
董宸佑
時間:
2021-7-2 20:48
public class Ch68 {
public static void main(String[] args) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
class Animal{
String name;
int age;
double w;
Animal(String n, int a, double w)
{
name=n;
age=a;
this.w=w;
}
void showProfile()
{
System.out.println(name+"今年"+age+"歲,體重"+weight+"公斤.");
}
}
class Dog extends Animal
{
Dog(String n, int a, double w)
{
super(n,a,w);
}
}
class Cat extends Animal
{
Cat(String n, int a, double w)
{
super(n,a,w);
}
}
複製代碼
作者:
沈子晏
時間:
2021-7-2 20:55
public class JPD01 {
public static void main (String args[]) {
Dog d1=new Dog("憨憨",2,1.28);
Dog d2=new Dog("球球",1,1.35);
Cat c1=new Cat("咪咪",3,0.95);
d1.showProfile();
d2.showProfile();
c1.showProfile();
}
}
public class Animal {
String name;
int age;
double w;
Animal(String n, int a, double w)
{
name=n;
age=a;
this.w=w;
}
void showProfile()
{
System.out.printf("%s今年%d歲,體重%.2f公斤%n", name, age, w);
}
}
class Dog extends Animal {
Dog(String n, int a, double w){
super(n, a, w);
}
}
class Cat extends Animal {
Cat(String n, int a, double w){
super(n, a, w);
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2