#18. Class Syntax(3)

1562 ワード

Class Syntax(3)


今回はOOPの特徴を紹介し、OOPシリーズを終了します.
次は前の記事で紹介したクラス文法です.
一度通ってから行きましょう.
class Book {
	constructor(title, author, year){
    	    this.title = title;
	    this.author = author;
	    this.year = year;
	}

	 getSummary() {
	     return `${this.title} was book`;
	 };
}

class Magazine extends Book {
	constructor(title, author, year, month){
            super(title, author, year)
            this.month = month
	}
}

const book1 = new Book('up' ...)
const book1 = new Book('down' ...)

OOPの主な概念
(1) Class & Object
クラスでインスタンス(オブジェクト)を作成します.
(2)パッケージ(パッケージ)
クラスではpropertyとメソッドを組み合わせて保存できます.
(3)抽象
クラスを使用して詳細を非表示にします.
クラスを使用する人はメソッドの内部がどのように動作しているか分かりませんが、戻り値が分かればメソッドを使用できます.クラス内を公開する必要はありません.
(4)継承(継承)
BookとMagazineの関係のようにextends&superキーワードを使用してクラスを継承できます.
継承により、類似クラス間の不要な重複が解消されます.
(5)重合状態(多形性)
メソッドでthisキーワードを使用すると、1つのメソッドに異なる動作を生成できます.例えば、以下の場合.getSummaryという名前の同じメソッドが呼び出されましたが、異なる結果が表示されます.
book1.getSummary() // 'up is book'
book2.getSummary() // 'down is book'
ここまではJavaScriptのOOPの基本概念です.こうして終了OOP
しかし、これはJavaScript OOPのすべてではありません.
Object関数を用いてジェネレータを実装したり,メソッドを用いてオーバーライドしたりすることができる.
それだけでなく、タイプスクリプトには、JavaScriptでは提供されていないプライベートキーワード、デザイナ、インタフェース、抽象クラスなど、多くの機能があります.またOOPも勉強したいなら、学習タイプのシナリオもいいですね.
いずれにしても、これまで紹介してきたOOPの基本概念を覚えておけば、上記のことを熟知するのも難しくありません.