程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 《Java4android》視頻學習筆記——面向對象的應用(一),java面向對象筆記

《Java4android》視頻學習筆記——面向對象的應用(一),java面向對象筆記

編輯:JAVA綜合教程

《Java4android》視頻學習筆記——面向對象的應用(一),java面向對象筆記


---恢復內容開始---

有一台HP打印機需要一個程序來實現開機,打印,關機這三個功能

 

class HPprinter { void open(){ System.out.println("Open"); }     void print(String s){ System.out.println("print-->" + s); }     void close(){ System.out.println("Close"); } }

 

 

 

class Test { public static void main(String args[]) { HPprinter hp = new HPprinter();     hp.open(); hp.print("abc"); hp.close(); } }

 

後來又來一台Canon打印機需要實現開機,打印,清理,關機

 

class Canonprinter
{
void open(){
System.out.println("Open");
}


void print(String s){
System.out.println("print-->" + s);
}

void close(){
this.clean();
System.out.println("Close");
}

void clean(){
System.out.println("Clean");
}
}

 

如何用同一個程序實現這兩台打印機的功能呢?

class Test
{
public static void main(String args[])
{
int a = 0;


HPprinter hp = new HPprinter();
Canonprinter canon = new Canonprinter();


if(a == 1){ //注意此處需要用等於號。
hp.open();
hp.print("abc");
hp.close();
}

else if(a == 0){
        canon.open();
canon.print("123");
canon.close();
}


}
}

 

上述程序有很多的重復代碼,要是有很多種不同的打印機加進來,改一個程序容易,改兩個程序也容易,總不能每個程序改一遍的吧?其實我們完全可以把風險降到最低,解決掉這些重復代碼。

建一個父類Printer

class Printer
{
void open(){
System.out.println("Open");
}


void print(String s){
System.out.println("Print-->" + s);
}


void close(){
System.out.println("Close");
}
}

讓各類打印機繼承

class HPprinter extends Printer
{

}

 

class Canonprinter extends Printer
{
void close(){
this.clean();
super.close();
}

void clean(){
System.out.println("Clean");
}
}

主函數

class Test
{
public static void main(String args[])
{
int a = 0;

HPprinter hp = new HPprinter();
Canonprinter canon = new Canonprinter();

if(a == 1){
hp.open();
hp.print("abc");
hp.close();
}

else if(a == 0){
       canon.open();
canon.print("123");
canon.close();
}

}
}

 

 

至此完成

---恢復內容結束---

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved