
Dart adalah Bahasa pemograman berbasis OOP (Object Oriented Programming) dan pewarisan berbasis mixin (Mixins-based inheritance), setiap object adalah instance dari class dan semua class adalah turban dari object. Pewarisan berbasis mixin artinya setiap class (kecuali untuk object) memiliki satu superclass, body pada class bisa digunakan kembali pada multipleclass hirakinya. Extension methode adalah cara uituk menambhakan funsionalitas pada class tapa merubah tau membuat subclass.
Using class members
Sebiah object memiliki function dan data (methods and instance variable, respectively). Ketika kila memanggil method, maka memiliki akses untuk memanggil function dan data pada object tersebut. contoh cara memanggil sebuah function pada object :
//code
class person{
String getPersonName(){
return 'Alfaz';
}
}
void main(){
var man = person();
String name = man.getPersonName();
print(name);
}
//output
Alfaz
Using Constructors
Kita bisa membuat object dengan contructor. Constructor memili nama sama dengan nama class, contoh jika kita membuat class Person nama nama contructor untuk class person adalah Person() :
//code
class Person{
String name;
int age;
Person(this.name,this.age){
this.name = name;
this.age = age;
}
void printIdntity(){
print('Name :$name'+" Age :"+age.toString());
}
}
void main(){
// create by contructors
var detail = Person("Jhon", 30);
detail.printIdntity()
}
//output
Name :Jhon Age :30
Getting an object’s type
Untuk mendapatkan type object pada runtime, kita bisa menggunakan property objects runtimeType yang akan mengembalikan type object
print('The type of a is ${a.runtimeType}');
Sample source code can be downloaded on github at the following link  dart-tutorial