class Person {
name: string;
// 変数の前につける
readonly id: number = 31
// 引数設定時にアクセス指定子の後ろにつける
constructor(public readonly name: string){
}
// thisにPersonを設定する
greeting(this: Person){
console.log(this.name)
}
}
const quill = new Person("Quill");
const anotherQuill: {
greeting: quill.greeting
}
anotherQuill.greeting();
class Person {
name: string;
// 引数設定時にアクセス指定子の後ろにつける
constructor(name: string){
}
greeting(this: Person){
console.log(this.name)
}
}
// extendsの後に継承元のクラス名を設定する
class Teacher extends Person {
// コンストラクタは継承元のクラスを呼ぶ
// もし継承元のクラスの関数+違う処理を付け加えたい場合は以下の様に行う
constructor(name: string ){
// ここでは継承元のクラスにあるconstructorを呼ぶ
super(name);
// なにか処理を付け加えたい場合はここに処理を書く
// 継承元のクラスにある関数を使用したい場合
super.継承元の関数名
}
}
const teacher = new Teacher( "Quill")
teacher.greeting();
class Person {
name: string;
// 引数設定時にアクセス指定子の後ろにつける
constructor(name: string){
}
greeting(this: Person){
console.log(this.name)
}
}
class Teacher extends Person {
// ゲッターは関数の前にgetをつける
get subject(){
// 何かしら戻り値を返す必要がある
return "Music"
}
// 引数を必ず設定する
set subject(value){
this.subject = value
}
constructor(name: string ){
super(name);
}
}
const teacher = new Teacher( "Quill")
teacher.greeting();
class Person {
name: string;
static species = "Homo sapiens"
static isAdult(age: number){
if(age > 17) return true;
return false;
}
constructor(name: string){
}
greeting(this: Person){
console.log(this.name)
}
}
class Teacher extends Person {
get subject(){
return "Music"
}
set subject(value){
this.subject = value
}
constructor(name: string ){
super(name);
}
}
// クラス名.変数
// クラス名.関数でアクセスすることができる
console.log(Parson.species);
console.log(Parson.isAdult(38))