Dart Class

리키안·2023년 11월 29일
0

class : 반복 활용을 위해

inheritance : extends로 해당 클래스를 이어받아 양산을 한다

polymorphism : extends로 해당 클래스를 이어받아 양산하되 기능 추가가 필요할때

class IronMan {
String name;
int powerLevel;

IronMan(this.name, this.powerLevel);

this : 해당 클래스내 상위에 선언한 변수를 가르킨다

void shoot() {
print('$name is shooting guns!');}}

class IronManMK3 extends IronMan {
int flyhigh;
IronManMK3(String name, Int powerLevel, this.flyhigh):super(name, powerLevel)

super:extends한 클래스의 변수를 그대로 가져온다

@override

@override extends한 클래스의 함수의 내용을 재설정한다.

void shoot() {
print('name is shooting Laser!');} void fly(){ print("name is $flyhigh");}}

Interface : 계획단계 청사진 클래스 설정

Abstract Class : 추상클래스(미완성클래스). 추후 완성을 위해 미리 선언만해놓은상태 (가져와 활용시 추상클래스 함수를 모두 사용해야 한다)

Mixin : 각각의 다른 클래스간 필요한 기능들만 가져와 새로운 클래스를 만든다(다중상속과 같은 효과를 만들어줌)

추상클래스 실습

Abstract Class Abs{
run()
jump() }

Class ABS extends Abs{
run(){(print("dsf");df)}
junm(){(print("dsf"))}
} 무조건 추상클래스의 함수를 가져와야 함

mixin 실습

Class animal{
String name;
animal(this.name){}}

mixin A on animal{ on으로 클래스를 가져오고
애니멀의 클래스를 A가 섞어 쓸수있다
fly(){}}

Class bird extends animal with A{ with로 활용한다
버드 클래스는 애니멀과 A를 상속과 같은 효과를 받는다 }

비동기 : 순서대로 작업을 안하고 동시작업 해주는것

키워드 : Async await

타입 : future(미래값 딱한번만 돌아온다) stream(데이터가 꾸준히 들어온다(실시간채팅))

비동기 예시

future a down(String url) Async{
future 비동기 타입의 함수를 Async를 넣으므로 비동기상태이다
var response=await http.get(url);
await뒤에있는 미래 언젠간 받을 url을 받을때까지 기다리지말고 다른작업도
가능하도록 비동기로 명령

}

0개의 댓글