首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 成員存取權限、屬性與抽象類別/介面實作

     編輯:關於C#

一、成員存取與屬性

private 成員外部類別不可存取。範例:Per 類別中 name 為 private,Main 中直接存取會編譯錯誤「不可存取,受保護等級限制」。

屬性

透過 get/set 封裝欄位存取,利於維護與驗證。

Per percy = new Per();
Console.WriteLine(percy.address);
percy.age = 22; // 呼叫 set
Console.WriteLine(percy.age); // 呼叫 get

二、抽象類別與抽象方法

抽象類別不可實例化,可包含非抽象成員,抽象方法無主體,衍生類必須 override 實作。

public abstract class Myab { public abstract void Hi(string Name); }
public class SubMyab : Myab { public override void Hi(string Name) { Console.WriteLine(Name + " override"); } }
SubMyab obj = new SubMyab(); obj.Hi("Test");

三、介面

介面成員皆為隱性 public 抽象,無建構子/解構子/靜態成員/常數。類別可實作多介面,介面可被多類別實作。範例:Ishape 定義 GetArea(),Circle/Retange/Triangle 分別實作計算面積。

public interface Ishape { double GetArea(); }
public class Circle : Ishape { public double radius; public Circle(double r){radius=r;} public double GetArea() => Math.PI * radius * radius; }
public class Retange : Ishape { public double witdh, height; public Retange(double w,double h){witdh=w;height=h;} public double GetArea() => witdh * height; }
public class Triangle : Ishape { public double Arc1,Arc2,Arc3; public Triangle(double a,double b,double c){Arc1=a;Arc2=b;Arc3=c;} public double GetArea() => Arc1 * Arc2 * Arc3; }
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved