C++中public、protected及private用法(From MSDN),protectedmsdn
public(C# 參考): https://msdn.microsoft.com/zh-cn/library/yzh058ae.aspx
protected(C# 參考):https://msdn.microsoft.com/zh-cn/library/bcd5672a.aspx
private(C# 參考):https://msdn.microsoft.com/zh-cn/library/st6sy9xe.aspx
class PointTest{ public int x; public int y;}class MainClass4{ static void Main() { PointTest p = new PointTest(); // Direct access to public members: p.x = 10; p.y = 15; Console.WriteLine("x = {0}, y = {1}", p.x, p.y); }}// Output: x = 10, y = 15
class Point { protected int x; protected int y; } class DerivedPoint: Point { static void Main() { DerivedPoint dpoint = new DerivedPoint(); // Direct access to protected members: dpoint.x = 10; dpoint.y = 15; Console.WriteLine("x = {0}, y = {1}", dpoint.x, dpoint.y); } } // Output: x = 10, y = 15
class Employee2{ private string name = "FirstName, LastName"; private double salary = 100.0; public string GetName() { return name; } public double Salary { get { return salary; } }}class PrivateTest{ static void Main() { Employee2 e = new Employee2(); // The data members are inaccessible (private), so // they can't be accessed like this: // string n = e.name; // double s = e.salary; // 'name' is indirectly accessed via method: string n = e.GetName(); // 'salary' is indirectly accessed via property double s = e.Salary; }}
class Employee2{ private string name = "FirstName, LastName"; private double salary = 100.0; public string GetName() { return name; } public double Salary { get { return salary; } }}class PrivateTest{ static void Main() { Employee2 e = new Employee2(); // The data members are inaccessible (private), so // they can't be accessed like this: // string n = e.name; // double s = e.salary; // 'name' is indirectly accessed via method: string n = e.GetName(); // 'salary' is indirectly accessed via property double s = e.Salary; }}