Katika somo hili utakwenda kujifunza kuhusu inheritance, na inavyoweza kutumika kwenye Dart OOP.
Inheritance ni nini?
Inheritance ni uweze wa class zaidi ya moja kushirikiana katika tabia na sifa za class. Yaani method na properties za class moja zinaweza kurithiwa (inherited) kwenye class nyingine. Tunaweza kufanya hivi kwa kutumia keyword extend.
Hivyo hapo tuna class inayorithi na inayorithiwa. Hii inayorithiwa ndio ambayo inaanza, hii huitwa parent class na hii inayorithi hiutwa child class. Kunaweza kuwa na child class zaidi ya moja ambazo zinarithi kutoka kwenye parent class moa. Parent class pia huitwa base class au supper class. Na child class pia hujulikana kama derived class au sub class.
Mfano:
Hapa nina class 2 ya kwanza nimeipa jina la gari yenyewe itakuwa ina print jina la gari na namba yake. Hivyo itakuwa na property mbili.ambazo ni jina na namba
class gari {
// Properties
String? jina;
int? namba;
// Method
void display() {
print("Jina: $jina");
print("Namba: $namba");
}
}
Kisha nina class nyingine nitaiita toyota ambayo ina print rangi ya gazi na idadi ya milango. Hvyo itakuwa na properties mbili ambazo ni rangi na milango
class toyota{
// Fields
String? rangi;
int? milango;
// Method
void displayToyota() {
print("Rangi: $rangi");
print("Milango : $milango");
}
}
Kwa pamoja class hizi mbili zinaweza kuleta matokeo haya:
class gari {
// Properties
String? jina;
int? namba;
// Method
void display() {
print("Jina: $jina");
print("Namba: $namba");
}
}
class toyota{
// Fields
String? rangi;
int? milango;
// Method
void displayToyota() {
print("Rangi: $rangi");
print("Milango : $milango");
}
}
void main() {
// Creating an object of the gari class
var g1 = gari();
g1.jina = "Toyota";
g1.namba = 2023;
g1.display();
var g2 = toyota();
g2.rangi = "Nyeusi";
g2.milango = 4;
g2.displayToyota();
}
Sasa tunakwenda kuchanganya class hizi mbili ili class ya totota iweze kurithi property na method kutoka kwenye class gari ili iweze ku print matokeo.
class gari {
// Properties
String? jina;
int? namba;
// Method
void display() {
print("Jina: $jina");
print("Namba: $namba");
}
}
class toyota extends gari{
// Fields
String? rangi;
int? milango;
// Method
void displayToyota() {
display();
print("Rangi: $rangi");
print("Milango : $milango");
}
}
void main() {
var g = toyota();
g.jina = "Toyota";
g.namba = 2023;
g.rangi = "Nyeusi";
g.milango = 4;
g.displayToyota();
}
Aina za inheritance:
Inheritance imegawanyika katika makundi makuu manne ambayo ni:-
Wacha tuone mifano ya kila moja kati ya hizo:-
class Car {
// Properties
String? name;
double? prize;
}
class Tesla extends Car {
// Method to display the values of the properties
void display() {
print("Name: ${name}");
print("Prize: ${prize}");
}
}
void main() {
// Create an object of Tesla class
Tesla t = new Tesla();
// setting values to the object
t.name = "Tesla Model 3";
t.prize = 50000.00;
// Display the values of the object
t.display();
}
Katika mfano unaofuata parent class ni gari ambayo imerithiwa na class toyota ambayo pia imerithiwa na class Avalon.
class gari {
// Properties
String? jina;
int? namba;
// Method
void display() {
print("Jina: $jina");
print("Namba: $namba");
}
}
class toyota extends gari{
// Fields
String? rangi;
int? milango;
// Method
void displayToyota() {
display();
print("Rangi: $rangi"...
Umeionaje Makala hii.. ?
Katika somo hili tutawenda kujifunza kuhusu encapsulatio kwenye Dart OOP na jinsi inavyoweza kutumika.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu function kwenye dart, jisni ya kziandika na matumizi yake.
Soma Zaidi...Katika somo hili utakwend akujifunza kuhusu while loop na do while loop zinavyofanya kazi katika Dart.
Soma Zaidi...Leo tutajifunza kuhusu majani ya kunde — mboga za kijani zinazotokana na mmea wa kunde (beans). Wengi hula mbegu za kunde pekee, wakisahau kuwa hata majani yake yana virutubisho vya thamani kubwa kwa mwili. Tutazungumzia vitamini, madini, na faida mbalimbali za kiafya zinazopatikana katika majani haya.
Soma Zaidi...Katika soo hili utakwenda kujifunza kuhusu reserved keywords katika Dart
Soma Zaidi...Katika somo hili utajifunza jinsi ya kuunganisha databse na Dart. Pia utajifunza jinsi ya kuset environment kwenye kompyuta ili kuweza kutumia Dart sdk kwenye CMD.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu abstract class na abstract method kwenye Dart.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu class interface na inavyotofautiana na class abstract
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu namna ambavyo program inaweza kufanya maamuzi kulingana na mashart fulani.ama namna ambavyo program inaweza ku run code zaii ya mara moja kulingana na mashart. Hapa tutazingumzia flow of control statement
Soma Zaidi...Katika masomo yaliopita tumesha jifunza jinsi inheritance inavyokuwa, ila hatujaona kwa namna gani utaweza ku inherit constructor method. Somo hili litashughulika na swla hilo.
Soma Zaidi...