Kutengeneza obje kwanza tutatakiwa kufanya instantiation. Katika programming hiki ni kitendo cha kutengeneza instance of class yaani kutengeneza object. Katika somo hili tutatkwenda kuzitumia class tatu tulizozitengeneza kwenye somo lililopita ambazo ni :-class gari{
//properties
String? jina;
String? rangi;
int? matairi;
//method
void tangazo(){
print("tunauza gari aina ya ${jina}, ina rangi ${rangi}, na matairi ${matairi}");
}
}
class website{
var jina;
String? status;
String? category;
int? creted;
taarifa(){
return "Jina la website yetu ni ${jina}, imeanzishwa mwaka ${creted}, hali yake kwa sasa ni ${status}, website yetu inahusu ${category}";
}
}
class math{
int? x;
int? y;
jumlaisha(x, y){
return x+y;
}
}
Hapa tuna class 3 ambazo ni:-
- Gari
- Website
- math
Ili kuweza kutengeneza obje kwanza utaaanza na jina la Class likifuatiwa na jina la object kisha itafuatiwa na alama ya (=) ikifuatiwa na jina la class likimaliziwa na mabano().
Mfano
void main(){
gari toyota = gari();
website myweb = website();
math jumla = math();
}
Hapo nimetengeneza object mbili ambazo ni toyota, myweb na jumla. Sasa hatuwa inayofuata ni kutengeneza property za kila object kulingana na class zao. Kutengeneza property hakuna utofauti sana na kutengeneza variable. Kilicho ongezeka hapo ni kuhusianisha na object husika.
Mfano kutengeneza property jina la toyota Avalon kwenye gari tutaweka toyota.jina = “Toyota Avalon”
Mfano:
Class gari:
gari toyota = gari();
toyota.jina = 'Toyota avalon';
toyota.rangi = "Nyeusi mpauko";
toyota.matairi = 4;
Hapo nimetengeneza property 3, sasa takwenda kuitumia method ama function tangazo() kwenye class yetu. Kufanya hivyo tutaanza na jina la object yetu ikifuatiwa na nukta, ikifuatiwa na method yetu.
class gari{
//properties
String? jina;
String? rangi;
int? matairi;
//method
void tangazo(){
print(" Tunauza gari aina ya ${jina}. Ina rangi ${rangi}. Ina matairi ${matairi}.");
}
}
void main(){
print("TANGAZO");
gari toyota = gari();
toyota.jina = 'Toyota avalon';
toyota.rangi = "Nyeusi mpauko";
toyota.matairi = 4;
toyota.tangazo();
}
Class ya website
Kwa kutumia mfano huo hapo juu nakwenda kutengeneza properties kwenye class ya website. Kisha tunakwenda kutumia function ya taarifa().
class website{
var jina;
String? status;
String? category;
int? creted;
taarifa(){
return " Jina la website yetu ni ${jina}. imeanzishwa mwaka ${creted}. hali yake kwa sasa ni ${status}. website yetu inahusu ${category}.";
}
}
void main(){
website myweb = website();
myweb.jina = "Bongoclass";
myweb.status = "ipo hai";
myweb.category = "Elimu";
myweb.creted = 2018;
var taarifa = myweb.taarifa();
print(taarifa);
}
Class ya math
Class hii ina utofauti kidogo kwani inatumia parameter. Sasa nataka kuiandika katika namna mbili ili tupate kujifunza zaidi. Nitatumia input, na kawaida katika kuweka argument.
class math{
int? x;
int? y;
jumlaisha(x, y){
return "jumala ya ${x} na ${y} ni ${x + y}";
}
}
void main(){
math namba = math();
namba.x = 4;
namba.y = 5;
print(namba.jumlaisha(namba.x, namba.y));
}
Kwa kutumia input
import 'dart:io';
class math{
int? x;
int? y;
jumlaisha(x, y){
return "jumala ya ${x} na ${y} ni ${x + y}";
}
}
void main(){
math namba = new math();
print("Andika namba ya kwanza");
namba.x = int.parse(stdin.readLineSync()!);
print("Andika namba ya pili");
namba.y = int.parse(stdin.readLineSync()!);
print(namba.jumlaisha(namba.x, namba.y));
}
Utaona hapo nimenutumia keyword new katika kutengeneza object, Kwenye baadhi ya lugha nyingine kama PHP hii keyword ni lazima, lakini kwenye Drt sio lazima ndio maana ukiiweka ama usipo iweka hakuna utofauti. Unaweza kurejea mafunzo yetu ya PHP OOP utajifunza zaidi kususu class na object.
Mwisho:
Katika somo linalo fuata tutakwenda kujifunza kuhusu constructor kwenye Dart. Ni vyema kurejea somo la Dart parameter kwenye kipengele cha function. Ni kwa sababu tutakwenda kuzitumia concept hizo ili kuelewa zaidi kuhusu constructor. Pia unaweza kurejea mafunzo yetu ya PHP OOP kwa kujuwa mengi kuhusu concept za OOP.