[OSAM]DART言語ベース(8)Class[#3]継承
>継承とは?
継承:子クラスが親クラスのすべての変数と関数を使用できるようにします.
=>BUT親は子供を継ぐことができない!
=>親は複数の子であり、BUT子は1つの親のみである!
>extends,superキーワード
Extends:クラス継承用キーワード=>サブクラスextends親
super:親クラスにアクセスするクラスclass TopingPizza extends Pizza {
String toping;
TopingPizza(String bread, String cheese, String toping){
super.bread = bread;
super.cheese = cheese;
this.toping = toping;
}
> override
override:子クラスで親クラスで定義した関数を再定義するためのキーワード!
※overide自体が親の関数を無効にする行為で、次のコードを再定義!
overide自体はコード再定義ではありません!
@override
親関数名@override
void sayPizza(){
print("피자 이름은 ${this.toping}피자입니다!");
}
}
>適用 class Pizza {
String bread;
String cheese;
Pizza({String bread, String cheese})
: this.bread = bread,
this.cheese = cheese;
void sayBread() {
print("${this.bread}로 만든 피자가 나왔습니다!");
}
void sayCheese(){
print("${this.cheese}로 만든 피자가 나왔습니다!");
}
void sayPizza(){
print("피자가 나왔습니다!");
}
}
class TopingPizza extends Pizza {
String toping;
TopingPizza(String bread, String cheese, String toping){
super.bread = bread;
super.cheese = cheese;
this.toping = toping;
}
@override
void sayPizza(){
print("피자 이름은 ${this.toping}피자입니다!");
}
}
void main(){
Pizza pizza = new Pizza(bread : "기본빵", cheese : "기본치즈");
pizza.sayBread();
pizza.sayCheese();
pizza.sayPizza();
TopingPizza ppizza = new TopingPizza("기본빵", "기본치즈","페퍼로니");
ppizza.sayBread();
ppizza.sayCheese();
ppizza.sayPizza();
}
Reference
この問題について([OSAM]DART言語ベース(8)Class[#3]継承), 我々は、より多くの情報をここで見つけました
https://velog.io/@hello_hidi/OSAM-DART-언어-기초8-Class-3-Inheritance
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Extends:クラス継承用キーワード=>サブクラスextends親
super:親クラスにアクセスするクラス
class TopingPizza extends Pizza {
String toping;
TopingPizza(String bread, String cheese, String toping){
super.bread = bread;
super.cheese = cheese;
this.toping = toping;
}
> override
override:子クラスで親クラスで定義した関数を再定義するためのキーワード!
※overide自体が親の関数を無効にする行為で、次のコードを再定義!
overide自体はコード再定義ではありません!
@override
親関数名@override
void sayPizza(){
print("피자 이름은 ${this.toping}피자입니다!");
}
}
>適用 class Pizza {
String bread;
String cheese;
Pizza({String bread, String cheese})
: this.bread = bread,
this.cheese = cheese;
void sayBread() {
print("${this.bread}로 만든 피자가 나왔습니다!");
}
void sayCheese(){
print("${this.cheese}로 만든 피자가 나왔습니다!");
}
void sayPizza(){
print("피자가 나왔습니다!");
}
}
class TopingPizza extends Pizza {
String toping;
TopingPizza(String bread, String cheese, String toping){
super.bread = bread;
super.cheese = cheese;
this.toping = toping;
}
@override
void sayPizza(){
print("피자 이름은 ${this.toping}피자입니다!");
}
}
void main(){
Pizza pizza = new Pizza(bread : "기본빵", cheese : "기본치즈");
pizza.sayBread();
pizza.sayCheese();
pizza.sayPizza();
TopingPizza ppizza = new TopingPizza("기본빵", "기본치즈","페퍼로니");
ppizza.sayBread();
ppizza.sayCheese();
ppizza.sayPizza();
}
Reference
この問題について([OSAM]DART言語ベース(8)Class[#3]継承), 我々は、より多くの情報をここで見つけました
https://velog.io/@hello_hidi/OSAM-DART-언어-기초8-Class-3-Inheritance
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
@override
void sayPizza(){
print("피자 이름은 ${this.toping}피자입니다!");
}
}
class Pizza {
String bread;
String cheese;
Pizza({String bread, String cheese})
: this.bread = bread,
this.cheese = cheese;
void sayBread() {
print("${this.bread}로 만든 피자가 나왔습니다!");
}
void sayCheese(){
print("${this.cheese}로 만든 피자가 나왔습니다!");
}
void sayPizza(){
print("피자가 나왔습니다!");
}
}
class TopingPizza extends Pizza {
String toping;
TopingPizza(String bread, String cheese, String toping){
super.bread = bread;
super.cheese = cheese;
this.toping = toping;
}
@override
void sayPizza(){
print("피자 이름은 ${this.toping}피자입니다!");
}
}
void main(){
Pizza pizza = new Pizza(bread : "기본빵", cheese : "기본치즈");
pizza.sayBread();
pizza.sayCheese();
pizza.sayPizza();
TopingPizza ppizza = new TopingPizza("기본빵", "기본치즈","페퍼로니");
ppizza.sayBread();
ppizza.sayCheese();
ppizza.sayPizza();
}
Reference
この問題について([OSAM]DART言語ベース(8)Class[#3]継承), 我々は、より多くの情報をここで見つけました https://velog.io/@hello_hidi/OSAM-DART-언어-기초8-Class-3-Inheritanceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol