โšก Dart Class (2)

jinoยท2023๋…„ 3์›” 19์ผ
0

๐Ÿš€ Cascade Notation

class Player {
	String name;
    int xp;
    String team;
    
    Player({ required this.name, required this.xp, required this.team });
    
    void sayHello(){
    	print("Hi my name is $name");
    }
}

void main(){
	var jinho = Player(name : 'jino', xp : 1200, team : 'purple')
    ..name = 'brian'
	..xp = 12000
    ..team = 'blue';
    
    jinho๋ฅผ ์„ ์–ธํ•œ 
}

๐Ÿš€ Enums

enum Team { red, blue }

class Player {
	name : String,
    xp : int,
    team : Team;
}

var jino = Player(name : 'jino', xp : 120, team : Team.blue);

๐Ÿš€ Abstract Classes

abstract class Human {
	void walk();
}

class Player extends Human {
	void walk(){
    	print("I'm walking");
    }
}

๐Ÿš€ Inheritance

class Human {
	final String name;
    Human({required this.name});
    void sayHello(){
    	print('Hi, my name is $name');
    }
}

enum Team { blue, red }

class Player extends Human {
	final Team team;

    // ํ™•์žฅํ•œ ๋ถ€๋ชจ ํด๋ž˜์Šค์—๊ฒŒ name์„ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• 
    Player({ 
    	required this.name,
        required String name
    }) : super(name : name);
    
    @override
    void sayHello(){
    	super.sayHello();
        print('and I play for ${team}');
    }
}

void main() {
	var player = Player(team : Team.red, name : 'jino');
}

๐Ÿš€ Mixin
์ƒ์„ฑ์ž๊ฐ€ ์—†๋Š” Class
class์— property๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์ด์šฉ


class String {
	final double strengthLevel = 1500.99;
}

class QuickRunner {
	void runQuick(){
    	print('run~~~~~~~~~');
    }
}

class Tall {
	final double height = 1.78;
}

enum Team {blue, red}

class Player with Strong, QuickRunner, Tall {
	final Team team;
    
    Player({ required this.team })
}
profile
์–ด์ œ๋ณด๋‹ค ์˜ค๋Š˜ ๋” ์„ฑ์žฅํ•˜๋Š” ๋””๋ฒจ๋กœํผ

0๊ฐœ์˜ ๋Œ“๊ธ€