Latest web development tutorials

C # Warisan

Warisan adalah object-oriented programming adalah salah satu konsep yang paling penting. Warisan memungkinkan kita untuk mendefinisikan kelas berdasarkan kelas lain untuk mendefinisikan kelas, yang membuat menciptakan dan memelihara aplikasi jauh lebih mudah. Tetapi juga kondusif untuk menggunakan kembali kode dan mengurangi waktu pengembangan.

Ketika Anda membuat kelas, programmer tidak perlu benar-benar menulis ulang data anggota dan fungsi anggota baru, Anda hanya perlu merancang sebuah kelas baru yang mewarisi anggota yang ada kelas dapat.Kelas dasar yang ada disebut kelas, kelas baru ini disebut kelas turunan.

Realisasi gagasan warisanmilik (IS-A) hubungan.Misalnya, mamaliamilik (IS-A) hewan, anjing milik (IS-A)mamalia, dan oleh karena itumilikanjing(IS-A)hewan.

Dasar dan kelas turunan

Sebuah kelas dapat diturunkan dari lebih dari satu kelas atau interface, yang berarti bahwa itu dapat mewarisi beberapa kelas dasar atau interface dari data dan fungsi.

Membuat kelas turunan di C # sintaks adalah sebagai berikut:

<Acess-specifier> kelas <base_class>
{
 ...
}
kelas <derived_class>: <base_class>
{
 ...
}

Misalkan, ada Shape kelas dasar, yang merupakan kelas Rectangle berasal:

menggunakan System;
namespace InheritanceApplication
{
   kelas Shape 
   {
      public void setWidth (int w)
      {
         width = w;
      }
      public void setHeight (int h)
      {
         height = h;
      }
      dilindungi int lebar;
      dilindungi tinggi int;
   }

   // Berasal kelas kelas Rectangle: Shape
   {
      public int GetArea ()
      { 
         kembali (lebar * tinggi); 
      }
   }
   
   kelas RectangleTester
   {
      static void Main (string [] args)
      {
         Rectangle Rect = new Rectangle ();

         Rect.setWidth (5);
         Rect.setHeight (7);

         // Wilayah Print dari Console.WriteLine objek ( "Luas: {0}", Rect.getArea ());
         Console.ReadKey ();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Total area: 35

Menginisialisasi kelas dasar

kelas turunan mewarisi variabel anggota dan metode anggota dari kelas dasar. Oleh karena itu, objek induk harus dibuat sebelum objek sub-class dibuat. Anda dapat menginisialisasi kelas induk dalam daftar inisialisasi anggota.

Program berikut menunjukkan titik ini:

menggunakan System;
namespace RectangleApplication
{
   kelas Rectangle
   {
      // Variabel Anggota dilindungi panjang ganda;
      dilindungi lebar ganda;
      Rectangle publik (double l, ganda w)
      {
         panjang = l;
         width = w;
      }
      publik GetArea ganda ()
      {
         kembali panjang * lebar;
      }
      public void Tampilan ()
      {
         Console.WriteLine ( "Panjang: {0}", panjang);
         Console.WriteLine ( "width: {0}", lebar);
         Console.WriteLine ( "Ukuran: {0}", GetArea ());
      }
   } // End class Rectangle  
   kelas Tabletop: Rectangle
   {
      swasta biaya ganda;
      Tabletop publik (double l, ganda w): dasar (l, w)
      {}
      publik GetCost ganda ()
      {
         biaya ganda;
         Biaya = GetArea () * 70;
         kembali biaya;
      }
      public void Tampilan ()
      {
         base.Display ();
         Console.WriteLine ( "Biaya: {0}", GetCost ());
      }
   }
   kelas ExecuteRectangle
   {
      static void Main (string [] args)
      {
         Tabletop t = Tabletop baru (4.5, 7.5);
         t.Display ();
         Console.ReadLine ();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Panjang: 4,5
Lebar: 7.5
Area: 33,75
Biaya: 2.362,5

C # multiple inheritance

C # tidak mendukung multiple inheritance.Namun, Anda dapat menggunakan antarmuka untuk mencapai beberapa warisan. Program berikut menunjukkan titik ini:

menggunakan System;
namespace InheritanceApplication
{
   kelas Shape 
   {
      public void setWidth (int w)
      {
         width = w;
      }
      public void setHeight (int h)
      {
         height = h;
      }
      dilindungi int lebar;
      dilindungi tinggi int;
   }

   // Kelas Base PaintCost
   antarmuka publik PaintCost 
   {
      int getCost (int area);

   }
   // Berasal kelas kelas Rectangle: Shape, PaintCost
   {
      public int GetArea ()
      {
         kembali (lebar * tinggi);
      }
      public int getCost (int area)
      {
         wilayah pulang * 70;
      }
   }
   kelas RectangleTester
   {
      static void Main (string [] args)
      {
         Rectangle Rect = new Rectangle ();
         int daerah;
         Rect.setWidth (5);
         Rect.setHeight (7);
         daerah = Rect.getArea ();
         // Wilayah Print dari Console.WriteLine objek ( "Luas: {0}", Rect.getArea ());
         Console.WriteLine ( "Cat total biaya: $ {0}", Rect.getCost (area));
         Console.ReadKey ();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Total area: 35
Cat Total biaya: $ 2450