Java/抽象クラス のバックアップの現在との差分(No.1) luckey!!!! - memo random

#author("2018-08-29T09:30:06+09:00","ldap:pandora"," pandora")
#author("2018-08-29T09:51:51+09:00","ldap:pandora"," pandora")
[[Java]]
* ''抽象クラス'' [#c9bca55b]

- 抽象クラスとは
 クラス内に、含まれるメソッドに具体的な内容を記述せず、変数とメソッドの型のみを定義したクラス。
- 抽象クラス(abstract型)とは
 クラス内に、抽象メソッドを定義することが出来、抽象クラスを継承したクラスは抽象メソッドを必ずオーバーライドさせることができる。抽象メソッドには具体的な内容を記述せず、型のみを宣言することができる。
#highlighter(java,number){{
// インターフェースクラスの宣言
public interface Sports{
    // メソッドの型のみ定義し、中身を一切記載しない。
    // メソッドの宣言
    public void winMessage();
    // メソッドの宣言
    public void loseMessage();
    // メソッドの宣言 
    public String getRule();
    // メソッドの宣言
    public void setRule(String rule);
abstract public interface About{
    // abstractメソッド(抽象メソッド)は型のみ定義し、中身を一切記載出来ない。
    // 継承したクラスは必ず抽象メソッドをオーバーライドする必要がある。
    abstrct public void msg();

    // abstractメソッド以外も宣言可能
    public String getName() {
        
    }
}
}}

- 特徴
-- インターフェースクラスを継承したクラスは、必ずインターフェースクラス内にあるメソッドを全てオーバーライドしなければならない。
 →今後インターフェースクラスを継承して作成されたクラスは、インターフェースクラスに定義されているメソッドを全て持つことを「約束」しています。
-- 抽象クラスを継承したクラスは、必ず抽象クラス内にある抽象メソッドを全てオーバーライドしなければならない。
#highlighter(java,number){{
// Sportsインターフェースクラスを継承
public class Soccer implements Sports {
    // Soccerクラスは、Sportsクラスに定義されているメソッドを全て定義(オーバーライド)しなければならない。
	@Override
	public void winMessage() {
	}

public class Strict extends About {
    // Strictクラスは、Aboutクラスに定義されている抽象メソッドを全て定義(オーバーライド)しなければならない。
	@Override
	public void loseMessage() {
	public void msg() {
	}

	@Override
	public String getRule() {
	}

	@Override
	public void setRule(String rule) {
	}

}
}}
-- インターフェースクラスの多重継承を許可する。
#highlighter(java,number){{
// インターフェースクラスの宣言
public interface Human{
    // メソッドの型のみ定義し、中身を一切記載しない。
    // メソッドの宣言
    public void speek();
    // メソッドの宣言
    public void listen();
}

// Sports,Human 複数のインターフェース継承
public class Soccer implements Sports,Human {
	@Override
	public void winMessage() {
	}

	@Override
	public void loseMessage() {
	}

	@Override
	public String getRule() {
	}

	@Override
	public void setRule(String rule) {
	}

	@Override
	public void speek() {
	}

	@Override
	public void listen() {
	}
}
}}



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS