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"...

Download App Yetu

Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.

Download Now Bongoclass Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 1970-01-01 03:33:44 Topic: DART Main: ICT File: Download PDF Views 361

Share On:

Facebook WhatsApp
Sponsored links
👉1 kitabu cha Simulizi    👉2 Madrasa kiganjani    👉3 Simulizi za Hadithi Audio    👉4 Kitabu cha Afya    👉5 Bongolite - Game zone - Play free game    👉6 Kitau cha Fiqh   

Post zinazofanana:

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 26: DART OOP maana ya object, na jinsi ya kuitengeneza kwenye OOP

Katika somo hili utakwenda kujifunza jinsi ya kutengeneza Object pamoja na properties. Haa kwa ufupi tutakwenda kujifunza jinsi ya kutumia class.

Soma Zaidi...
DART somo la 5: Reserved keywords kwenye lugah ya Dart

Katika soo hili utakwenda kujifunza kuhusu reserved keywords katika Dart

Soma Zaidi...
DART somo la 22: Jinsi ya kutumia html library kwenye Dart

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...
DART somo la 4: Jinsi ya kuandika na kutumia variable kwenye Dart

Katika somo lililopita tumejifunza kuhusu sintaksia za dart. Katika somo hili utakwenda kujifunza jinsi ya kutengeneza variable kwenye Dart.

Soma Zaidi...
Dart somo la 25: DART OOP Nini maaan ya class na vipi utaweza kuitengeneza

Katika somo hili utajifunza maana ya class kwenye OOP paradigm, kisha utajifunza jinsi ya kutengeneza class.

Soma Zaidi...
DART somola 42: Asynchronous programming

Katika somo hili tutakwenda kujifunza concept nyingine ya asynchronous programming.

Soma Zaidi...
DART somo la 37: Class interface

Katika somo hili utakwenda kujifunza kuhusu class interface na inavyotofautiana na class abstract

Soma Zaidi...
DART somo la 34: Static variable kwenye Dart

Katika somo hili utakwenda kujifunza kuhusu static property na jinsi ambavyo inavyotumika.

Soma Zaidi...
DART somo la 28: Named constructor na constant constructor kwenye OOP

Ka tika somo hili utakwenda kujifunza kuhusu concept ya named constructor na constant constructor kwenye Object Oriented Programming.

Soma Zaidi...