수색…
수업 만들기
다음과 같이 클래스를 생성 할 수 있습니다.
class InputField {
int maxLength;
String name;
}
new 키워드를 사용하여 클래스를 인스턴스화하면 필드 값이 기본적으로 null이됩니다.
var field = new InputField();
그러면 필드 값에 액세스 할 수 있습니다.
// this will trigger the setter
field.name = "fieldname";
// this will trigger the getter
print(field.name);
회원
수업에는 회원이있을 수 있습니다.
인스턴스 변수는 형식 주석을 사용하여 / 사용하지 않고 선언 할 수 있으며 선택적으로 초기화 할 수도 있습니다. 초기화되지 않은 멤버는 생성자가 다른 값으로 설정하지 않는 한 null 값을가집니다.
class Foo {
var member1;
int member2;
String member3 = "Hello world!";
}
클래스 변수는 static 키워드를 사용하여 선언됩니다.
class Bar {
static var member4;
static String member5;
static int member6 = 42;
}
메소드가 인수를 취하지 않고 빠르며 값을 반환하고 표시되는 부작용이없는 경우 getter 메서드를 사용할 수 있습니다.
class Foo {
String get bar {
var result;
// ...
return result;
}
}
Getters는 인수를 사용하지 않으므로 (빈) 매개 변수 목록의 괄호는 위와 같이 getter를 선언하고 다음과 같이 호출하기 위해 생략됩니다.
main() {
var foo = new Foo();
print(foo.bar); // prints "bar"
}
정확히 하나의 인수를 취해야하는 setter 메소드도 있습니다.
class Foo {
String _bar;
String get bar => _bar;
void set bar(String value) {
_bar = value;
}
}
setter 호출 구문은 변수 할당과 동일합니다.
main() {
var foo = new Foo();
foo.bar = "this is calling a setter method";
}
생성자
클래스 생성자는 클래스와 동일한 이름을 가져야합니다.
Person 클래스의 생성자를 만듭니다.
class Person {
String name;
String gender;
int age;
Person(this.name, this.gender, this.age);
}
위의 예제는 다음과 같은 방법보다 생성자를 정의하는 더 간단한 방법입니다.
class Person {
String name;
String gender;
int age;
Person(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
}
이제 Person의 인스턴스를 다음과 같이 작성할 수 있습니다.
var alice = new Person('Alice', 'female', 21);
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow