程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Visual Studio:針對Java開發人員的C#編程語言(2)(3)

Visual Studio:針對Java開發人員的C#編程語言(2)(3)

編輯:關於C語言

當我們運行這段代碼時,會發現派生類的構造函數使用基類中給出的方法體,這使得我們在不復制該代碼的情況下就可以初始化 count 成員。下面是我們得到的輸出結果:

Value of count in base class = 11
Value of count in derived class = 110
抽象類
抽象類將一個(或多個)方法或屬性聲明為抽象的。這樣的方法並不具有聲明它們的類中提供的實現,盡管抽象類也可以包含非抽象方法,也就是說,已經為其方法提供了實現。抽象類不能直接實例化,而只能作為派生類。這樣的派生類必須為所有的抽象方法和屬性提供實現(使用 override 關鍵字),除非派生成員本身被聲明為抽象的。
下面的示例聲明了一個抽象的 Employee 類。我們還創建了一個名為 Manager 的派生類,它提供了定義在 Employee 類中的抽象方法 show() 的實現:
using System;
public abstract class Employee
{
 // abstract show method
 public abstract void show();
}
// Manager class extends Employee
public class Manager: Employee
{
 string name;
 public Manager(string name)
 {
   this.name = name;
 }
 //override the show method
 public override void show()
 {
  Console.WriteLine("Name : " + name);
 }
}
public class CreateManager
{
 public static void Main(string[] args)
 {
  // Create instance of Manager and assign it to an Employee reference
  Employee temp = new Manager("John Chapman");
  // Call show method. This will call the show method of the Manager class
  temp.show();
 }
}

這段代碼調用了由 Manager 類提供的 show() 實現,並且在屏幕上打印出雇員的名字。

接口

接口是一種“主干類”,包含方法簽名但是沒有方法的實現。在這個方面,接口與抽象類一樣,只包含抽象方法。C# 接口非常類似於 Java 接口,工作原理基本一樣。

接口的所有成員都定義為公共成員,並且接口不能包含常量、字段(私有數據成員)、構造函數、析構函數或任何類型的靜態成員。如果為接口的成員指定任何修飾符,編譯器將會產生錯誤。

為了實現接口,我們可以從接口派生類。這樣的派生類必須為所有接口的方法提供實現,除非派生類聲明為抽象的。

接口的聲明與 Java 完全一樣。在接口定義中,通過單獨使用 get 和 set 關鍵字,屬性僅指示它的類型,以及它是只讀的、只寫的還是可讀寫的。下面的接口聲明了一個只讀屬性:

public interface IMethodInterface
{
 // method signatures
 void MethodA();
 int MethodB(float parameter1, bool parameter2);
 // propertIEs
 int ReadOnlyProperty
 {
  get;
 }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved