OOP 三大特性

  • 292
  • 0

OOP 三大特性

OOP 三大特性

1. 繼承 Inheritance

  • 繼承者會擁有被繼承者非靜態(non-static)的型別特徵。
  • C# 的繼承
    • 衹能繼承一個類別(Class)
    • 能夠實作多個界面(Interface)

2. 封裝 Encapsulation

  • 隱藏不必要為外界所知的資訊 using access modifier(private,protected,internal)
  • 隱藏行爲的變化,透過公開的property/method與外界互動
    • eg 駕駛者衹知道要讓汽車動的話就需要踩油門,踩了油門發生了什麽駕駛者其實不需要知道
    • public class Car
          {
              public void PushPedal()
              {
                  //implement car move logic here   
              }
          }

       

  • 利用抽象隱藏實作
  • 不公開欄位 Field的原因是欄位並不受控制

3. 多型 Polymorphism

  • 廣義多型(universal polymorphism)
    • 繼承式多型(inclusion)
      • 人們常説的多型多數指的就是繼承式多型別
    •  參數式多型(parametric)
      • 泛型 List <T>
  •  特設多型(ad hoc polymorphism)
    • 多載(overloading)
      • public class Calculator
            {
                public int Add(int first, int second)
                {
                    return first + second;
                }
        
                public double Add(double first, double second)
                {
                    return first + second;
                }
            }

        相同方法名字,但傳入參數不同

    •  強制同型(coercions)
      • int i = 2;
        double j = 2.9;
        double k = i+j;