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

Jiunge nasi WhatsApp kupata update zetu

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 469

Share On:

Facebook WhatsApp
Sponsored links
👉1 Kitabu cha Afya    👉2 Simulizi za Hadithi Audio    👉3 Kitau cha Fiqh    👉4 Sira ya Mtume Muhammad (s.a.w)    👉5 Bongolite - Game zone - Play free game    👉6 Madrasa kiganjani   

Post zinazofanana:

DART somo la 44: Jinsi ya ku install mysql kwenye program ya dart

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...
DART somo la 20: method zinazotumika kwenye map data type kwenye Dart

Katika somo hili tutakwenda kujifunza kuhusu method ambazo hutumika kwenye map data type

Soma Zaidi...
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 15: parameter kwenye function za Dart

Katika somo hili tutakwenda kuzungumzia kuhusu parameter kwenye Dart function. Pia tutakwenda kuona mambo mengine yanayohusu function

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 21: Jinsi ya kutengeneza library kwenye Dart

Katika somo hili utajifunza kuhusu dart library. Pia tutakwend aktengeneza library yetu wennyewe kwa ajili ya kufanya mazoezi zaidi.

Soma Zaidi...
DART somo la 3: Aina za Data

Katika somo hili utakwenda kujifunza aina za data zinazotumika kwenye Dart.

Soma Zaidi...
DART somo la 40: factory constructor

Katika somo hiliutakwenda kujifunza aina nyingine ya constructor ambayo hutumika kwenye Dart. aina hiyo ni factory constructory.

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 36: Abstract class kweye Dart

Katika somo hili utakwenda kujifunza kuhusu abstract class na abstract method kwenye Dart.

Soma Zaidi...