image

DART somo la 31: inheritance kwenye DART OOP

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:-

  1. Single inheritance katika aina hii class itarithi kutoka kwenye class moja tu. 
  2. Multilevel inheritance katika aina hii unaweza kurithi class ambayo nayo inarithi kutoa kwenye class nyingine.
  3. Hierachical inheritance katika aina hii parent class moja inaweza kurithiwa na class zaidi ya moja.
  4. Multiple inheritance  Katia aina hii ckass inaweza kurithi kutoka kwenye class zaidi ya koja. Hata hivyo aina hii hairuhusiwi kwenye Dart.

 

Wacha tuone mifano ya kila moja kati ya hizo:-

  1. Single inheritance. Hii ni kama tulivyoona kwenye mfano wa kwanza.

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();

}

 

 

  1. Multilevel inheritance

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");

...



           

Je! umeipenda hii post?
Ndio            Hapana            Save post

Kama unahitaji kuuliza maswali Bofya hapa

Mwandhishi Tarehe 2023-12-14 Download PDF     Share On Facebook or Whatsapp Imesomwa mara 154


Download our Apps
👉1 Madrasa kiganjani     👉2 kitabu cha Simulizi     👉3 Kitau cha Fiqh     👉4 Kitabu cha Afya    

Post zifazofanana:-

DART somo la 29: Dart encapsulation
Katika somo hili tutawenda kujifunza kuhusu encapsulatio kwenye Dart OOP na jinsi inavyoweza kutumika. Soma Zaidi...

DART somo la 43: Stream kwenye Dart
Katika somo hili utakwenda ujifunz akuhusu concept ya stream kwenye Dart. pia ttaona kwa namna gani strean inaweza kutofautiana na future wakati zote mbili zipo kwenye asychronous programming. Soma Zaidi...

DART somo la 17: method za namba zinazotumika kwenye dart
Katika somo hili utakwenda kuziona method za dart zinazotumika kwenye namba. pia utajifunzakuhusu math library Soma Zaidi...

DART somo la 2: syntax za dart
Katika somo hili tutatkwenda kuziona baadhi ya xyntax yaani kanunu za uandishi wa code za dart. Soma Zaidi...

DART somola 42: Asynchronous programming
Katika somo hili tutakwenda kujifunza concept nyingine ya asynchronous programming. Soma Zaidi...

DART somo la 23: Jinsi ya kusoma mafaili kwa kutumia Dart
Katika somo hili utakwenda kujifunza jinsi ya kusoma na kuandika faili kwa kutumia Dart programming. Soma Zaidi...

DART somo la 30 :Jinsi ya kutengeneza setter na geter kwenye OOP
Katika somo hili tutakwenda kujifunza zaidi kuhusu method za getter na setter. Tutakwenda kuona hasa zinavyotumika na zinavyotengenezwa. Soma Zaidi...

DART somo la 32: Inheritance kwenye construct method:
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...

DART somo la 33 concept ya polymorphism
Katika somo hili utakwenda kujifunza kuhusu concept ya polymorphism. Soma Zaidi...

DART somo la 24: Dart OOP maana ya Object Oriented Programming kwenye Dart
Katika somo hili utakwenda kujifunza maana ya OOP na faida zake. Pia utakwenda kujifunza kuhusu features za OOP. Soma Zaidi...

DART somo la 45: Jinai ys kutuma mysql database
Katika somo hili utakwenda kujifunza jinsi ya kutumia database ya mysql kwenye Dart. hakikisha umeelewa vyema na kutekeleza yalioelekezwa kutoka kwenye somo lililopita. Soma Zaidi...

DART somo la 12: Kuchukuwa user input kwenye Dart
Jinsi ya kuchukuwa user input kwenye Dart kwa ajili ya kuongeza user interaction kwenye program. Soma Zaidi...