html做網(wǎng)站實戰(zhàn)教程軟文寫作經(jīng)驗是什么
?此文章僅記錄學(xué)習(xí),歡迎各位大佬探討
實驗(一)???? 面向?qū)ο笤O(shè)計
實驗?zāi)康?/strong>
①使用類來封裝對象的屬性和功能;
②掌握類變量與實例變量,以及類方法與實例方法的區(qū)別;
知識回顧
詳情見OOP課件
實驗內(nèi)容
1.編程創(chuàng)建一個Point類
- 實驗要求:
在其中定義兩個變量表示一個點(diǎn)的坐標(biāo)值,再定義構(gòu)造函數(shù)初始化為坐標(biāo)原點(diǎn),然后定義一個方法實現(xiàn)點(diǎn)的移動,再定義一個方法打印當(dāng)前點(diǎn)的坐標(biāo)。并創(chuàng)建一個對象驗證。
public class T1 {public static void main(String[] args) {point p = new point();p.OrginPoint(10, 10);p.MovePoint(-5, 6);p.PrintPoint();}
}class point {int x, y;void OrginPoint(int a, int b) {this.x = a;this.y = b;}void MovePoint(int a, int b) {this.x += a;this.y += b;}void PrintPoint() {System.out.print("當(dāng)前坐標(biāo)為:" + this.x + "_" + this.y);}
}
2.繼承
- 實驗要求:
?super實例編寫一個Java應(yīng)用程序,該程序包括4個類:Teacher
類、JavaTeacher
類、DBTeacher
類
和主類T3。要求:
(1) Teacher
類中有成員變量name和age,有構(gòu)造方法:Teacher(String name,int
age)
,并且有個teaching()
方法,在teaching()
方法中輸出“上課......”的信息。
(2)JavaTeacher
類是Teacher
類的子類,有構(gòu)造方法:JavaTeacher(String name,int
age)
,在JavaTeacher
類中重寫方法teaching()
,在teaching()中調(diào)用父類teaching()方法,輸出“打開eclipse,編寫Java程序”的信息。
(3)DBTeacher
類是Teacher
類的子類,有個構(gòu)造方法:DBTeacher(String name,int
age)
,在DBTeacher
類中重寫方法teaching()
,在teaching()中調(diào)用父類teaching()方法,輸出“打開oracle,編寫pl-sql程序”的信息。
(4)在主類T2的main方法中創(chuàng)建JavaTeacher
與DBTeacher
類的對象類測試這2個類的功能。
public class T2 {public static void main(String[] args) {JavaTeacher jt=new JavaTeacher("張三",20);jt.teaching();DBTeacher dbt=new DBTeacher("李四",19);dbt.teaching();}
}class Teacher {String name;int age;public Teacher(String n, int a){this.name=n;this.age=a;}public void teaching(){System.out.print("上課......");}
}class JavaTeacher extends Teacher{public JavaTeacher(String n, int a) {super(n, a);}public void teaching(){super.teaching();System.out.print("打開eclipse,編寫Java程序");}
}
class DBTeacher extends Teacher{public DBTeacher(String n, int a) {super(n, a);}public void teaching(){super.teaching();System.out.print("打開oracle,編寫pl-sql程序");}
}
3.接口
- 實驗要求:
創(chuàng)建一個描述平面圖形的接口Figure,添加1個area( ) 方法計算平面圖形的面積。再創(chuàng)建2個類Circle(圓類)和Square(正方形類)分別實現(xiàn)接口Figure的area( )方法,并寫出測試類計算并輸出1個圓和一個正方形的面積。
public class T3 {public static void main(String[] args) {Circle c=new Circle();c.area(3);Square s=new Square();s.area(4);}
}
interface Figure {default void area() {}
}
class Circle implements Figure {public void area(int radius){System.out.println(3.14*radius*radius);}
}
class Square implements Figure {public void area(int length){System.out.println(length*length);}
}
4.多態(tài)
不夠靈活的影院售票系統(tǒng)
某軟件公司為某電影院開發(fā)了一套影院售票系統(tǒng),在該系統(tǒng)中需要為不同類型的用戶提供不同的電影票打折方式,具體打折方案如下:
(1) 學(xué)生憑學(xué)生證可享受票價8折優(yōu)惠;
(2) 年齡在10周歲及以下的兒童可享受每張票減免10元的優(yōu)惠(原始票價需大于等于20元);
(3) 影院VIP用戶除享受票價半價優(yōu)惠外還可進(jìn)行積分,積分累計到一定額度可換取電影院贈送的獎品。
該系統(tǒng)在將來可能還要根據(jù)需要引入新的打折方式。
重新設(shè)計該軟件:
public class T4 {public static void main(String[] args) {StudentTicket st=new StudentTicket();st.count();}
}
interface Preferential{double price=80.00;default void count(){}
}class StudentTicket implements Preferential{public void count() {System.out.println(0.8*this.price);}
}
class ChildTicket implements Preferential{public void count(){System.out.println(this.price-10);}
}
class VipTicket implements Preferential{public void count(){System.out.println(0.5*this.price);}
}