-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
area-languageDart language related items (some items might be better tracked at github.com/dart-lang/language).Dart language related items (some items might be better tracked at github.com/dart-lang/language).type-enhancementA request for a change that isn't a bugA request for a change that isn't a bug
Milestone
Description
This issue was originally filed by paulpmill...@gmail.com
Traits are interfaces on crack.
Really, it's what interfaces should have been. This would allow developers to code much less.
Traits doesn't have problems of multiple inheritance.
It would be great to have their support in dart. Something like
abstract class Person {
Schedule schedule()
}
trait Student extends Person {
private var classSchedule = ...
schedule() => classSchedule
learn() => ...
}
trait Worker extends Person {
private var workSchedule = ...
schedule => workSchedule
work() => ...
}
class CollegeStudent extends Student with Worker {
// ...
}
Metadata
Metadata
Assignees
Labels
area-languageDart language related items (some items might be better tracked at github.com/dart-lang/language).Dart language related items (some items might be better tracked at github.com/dart-lang/language).type-enhancementA request for a change that isn't a bugA request for a change that isn't a bug