Computer >> Máy Tính >  >> Lập trình >> C#

Giao diện và kế thừa trong C #

Giao diện

Một giao diện được định nghĩa là một hợp đồng cú pháp mà tất cả các lớp kế thừa giao diện phải tuân theo. Giao diện xác định phần 'cái gì' của hợp đồng cú pháp và các lớp dẫn xuất xác định phần 'cách' của hợp đồng cú pháp.

Hãy để chúng tôi xem một ví dụ về Giao diện trong C #.

Ví dụ

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;

namespace InterfaceApplication {

   public interface ITransactions {
      // interface members
      void showTransaction();
      double getAmount();
   }

   public class Transaction : ITransactions {
      private string tCode;
      private string date;
      private double amount;

      public Transaction() {
         tCode = " ";
         date = " ";
         amount = 0.0;
      }

      public Transaction(string c, string d, double a) {
         tCode = c;
         date = d;
         amount = a;
      }

      public double getAmount() {
         return amount;
      }

      public void showTransaction() {
         Console.WriteLine("Transaction: {0}", tCode);
         Console.WriteLine("Date: {0}", date);
         Console.WriteLine("Amount: {0}", getAmount());
      }
   }

   class Tester {

      static void Main(string[] args) {
         Transaction t1 = new Transaction("001", "8/10/2012", 78900.00);
         Transaction t2 = new Transaction("002", "9/10/2012", 451900.00);

         t1.showTransaction();
         t2.showTransaction();
         Console.ReadKey();
      }
   }
}

Đầu ra

Transaction: 001
Date: 8/10/2012
Amount: 78900
Transaction: 002
Date: 9/10/2012
Amount: 451900

Kế thừa

Tính kế thừa cho phép chúng ta định nghĩa một lớp theo nghĩa của một lớp khác, điều này giúp tạo và duy trì một ứng dụng dễ dàng hơn. Điều này cũng tạo cơ hội để sử dụng lại chức năng mã và tăng tốc thời gian triển khai.

Ý tưởng kế thừa thực hiện mối quan hệ IS-A. Ví dụ:động vật có vú LÀ động vật, chó IS-Động vật có vú, do đó chó cũng là động vật, v.v.

Sau đây là một ví dụ cho thấy cách làm việc với Thừa kế trong C #.

Ví dụ

using System;

namespace InheritanceApplication {
   class Shape {
      public void setWidth(int w) {
         width = w;
      }

      public void setHeight(int h) {
         height = h;
      }

      protected int width;
      protected int height;
   }

   // Derived class
   class Rectangle: Shape {
      public int getArea() {
         return (width * height);
      }
   }

   class RectangleTester {
      static void Main(string[] args) {
         Rectangle Rect = new Rectangle();
   
         Rect.setWidth(5);
         Rect.setHeight(7);

         // Print the area of the object.
         Console.WriteLine("Total area: {0}", Rect.getArea());
         Console.ReadKey();
      }
   }
}

Đầu ra

Total area: 35