프로그래밍 공부 메모/flutter
mixin / with는 무엇인가?
jjs815
2022. 11. 27. 18:09
with 키워드는 extends(상속)와 implements(구현)의 특징을 모두 갖고 있습니다.
with는 여러 개의 부모 클래스를 가질 수 있으며, (예 implements)
각 메소드를 일일이 구현하지 않더라도 부모에서 구현된 메소드 호출을 할 수 있습니다. (예 extends)
mixin 키워드는 클래스 생성시 생략 가능하며 필요시 아래와 같이 정의한 후 사용 가능
실사용시 with 키워드를 사용해서 해당 클래스에 연결
※주의사항
- 클래스의 상속 개념이 있는데 사용하는 이유? 제약조건을 따르지 않고 즉각적으로 민첩하게 대처가 가능하다
복잡한 상속 관계를 따지지 않고 다른 클래스에서 비슷한 함수 또는 변수를 가져와 쉽게 구현하는 것
mixin Agility{
var speed = 10;
void sitDown(){
print('sitting down....');
}
}
class Mammal{
void breathe(){
print('Breathe in .... out');
}
}
class Person extends Mammal with Agility{
String name;
int age;
Person(this.name,this.age);
}
void main(){
final pers = Person('max',30);
print(pers.name);
pers.breathe();
pers.sitDown();
}
반응형