標題:
物件導向-繼承(一)
[打印本頁]
作者:
周政輝
時間:
2018-3-17 10:48
標題:
物件導向-繼承(一)
本帖最後由 周政輝 於 2018-3-17 11:37 編輯
所謂繼承(Inheritance)是一種類別之間的關係,可以利用現有類別衍生出新的類別,新的類別可以與現有類別分享共同的屬性、方法與資料結構等,在物件導向程式設計中利用繼承,可以達到程式碼重複使用的優點。
繼承功能可以在建立新類別時,修改、添加或繼承現有類別的定義。建立一種類別後,如果須要再建立許多大同小異的類別,就可以利用繼承特性,分別繼承這個現有的類別,並且將差異部分加以修改或添加。
被繼承的類別稱為父類別或基礎類別(Base Class),而經由繼承產生的類別,則稱為子類別或衍生類別(Derived Class),子類別不僅可以繼承父類別的特性(屬性與方法),也可以修改或添加特性。
簡單來說,因為是繼承關係,所以兒子可以擁有爸爸所有的一切,也可以有權力可以進行更改。
Game
package kuas.mis.edu.tw;
public class Game {
public String Screen;
public String JoyStick;
public int Power;
public Game(String Screen,String JoyStick, int Power) {
this.Screen = Screen;
this.JoyStick = JoyStick;
this.Power = Power;
}
public void Open()
{
System.out.println("主機開機中");
}
public void Close()
{
System.out.println("主機關機中");
}
}
複製代碼
PS4
package kuas.mis.edu.tw;
public class PS4 extends Game {
public PS4(String Screen,String JoyStick, int Power) {
super(Screen, JoyStick, Power);
}
}
複製代碼
Main
package kuas.mis.edu.tw;
public class Main {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
PS4 game = new PS4("5K螢幕","雙把手",110);
game.Open();
game.Close();
}
}
複製代碼
作者:
張健勳
時間:
2018-3-17 11:15
package bbs.istak.org.tw;
public class Main {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
PS5 game = new PS5("8K螢幕","PS87搖桿","110");
game.open();
game.clo();
}
}
複製代碼
package bbs.istak.org.tw;
public class G {
public String S;
public String JS;
public String p;
public G(String S,String JS,String p)
{
this.S = S;
this.JS = JS;
this.p = p;
}
public void open()
{
System.out.println("主機開機中");
}
public void clo()
{
System.out.println("主機關機中");
}
}
複製代碼
package bbs.istak.org.tw;
public class PS5 extends G{
public PS5(String S,String JS,String p) {
super(S,JS,p);
}
}
複製代碼
作者:
蔡季樺
時間:
2018-3-17 11:17
package bbs.istak.org.tw;
public class Game {
public String Screen;
public String Joystick;
public int Power;
public Game(String Screen,String Joystick,int Power)
{
this.Screen = Screen;
this.Joystick = Joystick;
this.Power = Power;
}
public void Open()
{
System.out.println("主機開機中");
}
public void Close()
{
System.out.println("主機關機中");
}
}
複製代碼
package bbs.istak.org.tw;
public class PS4 extends Game{
public PS4(String Screen, String Joystick, int Power) {
super(Screen, Joystick, Power);
}
}
複製代碼
package bbs.istak.org.tw;
public class Main {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
PS4 g = new PS4("5K","keyboard",110);
g.Open();
g.Close();
}
}
複製代碼
作者:
蔡庭豪
時間:
2018-3-17 11:20
package bbs.istak.org.tw;
public class Main {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
Switch Gb = new Switch("4k","keyboard",110);
Gb.Open();
Gb.Close();
}
}
複製代碼
package bbs.istak.org.tw;
public class Game {
public String screen;
public String joystick;
public int power;
public Game(String screen, String joystick,int power){
this.screen = screen;
this.joystick = joystick;
this.power =power;
}
public void Open(){
System.out.println("主機開機中");
}
public void Close(){
System.out.println("主機關機中");
}
}
複製代碼
package bbs.istak.org.tw;
public class Switch extends Game {
public Switch(String screen, String joystick, int power) {
super(screen, joystick, power);
// TODO 自動產生的建構子 Stub
}
}
複製代碼
作者:
林侑成
時間:
2018-3-17 11:21
package Asdf;
public class Student {
public String Screen;
public String Rocker;
public int Power;
Student(String Screen, String Rocker, int Power)
{
this.Screen=Screen;
this.Rocker=Rocker;
this.Power=Power;
}
public static void Open()
{
System.out.println("主機開機中...");
}
public static void Close()
{
System.out.println("主機關機中...");
}
}package Asdf;
public class test {
public static void main(String[] args)
{
PS4 game = new PS4("5K螢幕","雙把手",110);
Student.Open();
Student.Close();
}
}package Asdf;
public class PS4 {
public PS4(String Screen,String JoyStick, int Power)
{
super();
}
}
複製代碼
作者:
黃茂勛
時間:
2018-3-17 18:03
public class Game {
public String Screen;
public String JoyStick;
public int Power;
public Game(String Screen,String JoyStick, int Power){
this.Screen = Screen;
this.JoyStick = JoyStick;
this.Power = Power;
}
public void Open(){
System.out.println("主機開機中");
}
public void Close(){
System.out.println("主機關機中");
}
}
複製代碼
public class PS4 extends Game{
public PS4(String Screen, String JoyStick, int Power){
super(Screen, JoyStick, Power);
}
}
複製代碼
public class Main {
public static void main(String[] args) {
PS4 game = new PS4("5k螢幕","雙把手",110);
game.Open();
game.Close();
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2