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 hii utakwenda kujifunza kuhusu concept mixin na jinsi inavyoweza kutumika kwenye Dart.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu static property na jinsi ambavyo inavyotumika.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu concept ya generics ili kuweza kufanya kazi na aina mbalimbali za data kwenye class.
Soma Zaidi...Katika somo hili tutatkwenda kuziona baadhi ya xyntax yaani kanunu za uandishi wa code za dart.
Soma Zaidi...Katika somo hili utakwenda kujifunza maana ya OOP na faida zake. Pia utakwenda kujifunza kuhusu features za OOP.
Soma Zaidi...Katika somo hili tutakwenda kujifunz ajinsi ya kutumia library ya html kwenye Dart. somo hili litakupeleka kujifunza jinsi ya ku display dart output kwenye faili la html.
Soma Zaidi...Katika somo hili tutakwenda kujifunza kuhusu method ambazo hutumika kwenye map data type
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu abstract class na abstract method kwenye Dart.
Soma Zaidi...Katika somo hili utakwenda kujifunza aina za data zinazotumika kwenye Dart.
Soma Zaidi...Katika somo hili utakwenda kujifunza method yhinginge zinazofanya kazi kwenye list data type kwenye Dart.
Soma Zaidi...