六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

C#圖文說明教程第8課:類的繼承

[摘要]本節課將介紹C#中的繼承,其目的如下: 1.基類的實現 2.類的繼承 3.在派生類中初始化基類 4.如何調用基類成員 5.如何覆蓋基類成員 繼承是面向對象程序設計的主要特征之一,它可以讓你重用代碼,可以節省程序設計的時間。 1.清單8-1 繼承: BaseClass.cs using System...
本節課將介紹C#中的繼承,其目的如下:
1.基類的實現

2.類的繼承

3.在派生類中初始化基類

4.如何調用基類成員

5.如何覆蓋基類成員

繼承是面向對象程序設計的主要特征之一,它可以讓你重用代碼,可以節省程序設計的時間。

1.清單8-1 繼承: BaseClass.cs

using System;
public class ParentClass
{
public ParentClass()
{
Console.WriteLine("Parent Constructor.");
}
public void print()
{
Console.WriteLine("I'm a Parent Class.");
}
}

public class ChildClass : ParentClass
{
public ChildClass()
{
Console.WriteLine("Child Constructor.");
}
public static void Main()
{
ChildClass child = new ChildClass();
child.print();
}
}

Output:

Parent Constructor.
Child Constructor.
I'm a Parent Class.

說明

清單8-1演示了兩個類的用法。上面的一個類名為ParentClass, main函數中用到的類名為ChildClass。要做的是創建一個使用父類ParentClass現有代碼的子類ChildClass。

1.首先必須說明ParentClass是ChildClass的基類。

這是通過在ChildClass類中作出如下說明來完成的:"public class ChildClass : ParentClass"。在派生類標識符后面,用分號":" 來表明后面的標識符是基類。C#僅支持單一繼承。因此,你只能指定一個基類。

2.ChildClass的功能幾乎等同于ParentClass。

因此,也可以說ChildClass "就是" ParentClass。在ChildClass 的Main()方法中,調用print() 方法的結果,就驗證這一點。該子類并沒有自己的print()方法,它使用了ParentClass中的 print()方法。在輸出結果中的第三行可以得到驗證。

3.基類在派生類初始化之前自動進行初始化。

注意到清單8-1的輸出結果。ParentClass 類的構造函數在ChildClass的構造函數之前執行。

2.清單 8-2. 派生類同基類進行通信: BaseTalk.cs

using System;
public class Parent
{
string parentString;
public Parent()
{
Console.WriteLine("Parent Constructor.");
}
public Parent(string myString)
{
parentString = myString;
Console.WriteLine(parentString);
}
public void print()
{
Console.WriteLine("I'm a Parent Class.");
}
}

public class Child : Parent
{
public Child() : base("From Derived")
{
Console.WriteLine("Child Constructor.");
}
public void print()
{
base.print();
Console.WriteLine("I'm a Child Class.");
}

public static void Main()
{
Child child = new Child();
child.print();
((Parent)child).print();
}
}

Output:

From Derived
Child Constructor.
I'm a Parent Class.
I'm a Child Class.
I'm a Parent Class.


說明

1.派生類在初始化的過程中可以同基類進行通信。

清單8-2演示了在子類的構造函數定義中是如何實現同基類通信的。分號":"和關鍵字base用來調用帶有相應參數的基類的構造函數。輸出結果中,第一行表明:基類的構造函數最先被調用,其實在參數是字符串"From Derived"。

2.有時,對于基類已有定義的方法,打算重新定義自己的實現。

Child類可以自己重新定義print()方法的實現。Child的print()方法覆蓋了Parent中的 print 方法。結果是:除非經過特別指明,Parent類中的print方法不會被調用。

3.在Child類的 print() 方法中,我們特別指明:調用的是Parent類中的 print() 方法。

方法名前面為"base",一旦使用"base"關鍵字之后,你就可以訪問基類的具有公有或者保護權限的成員。 Child類中的print()方法的執行結果出現上面的第三行和第四行。

4.訪問基類成員的另外一種方法是:通過顯式類型轉換。

在Child類的Main()方法中的最后一條語句就是這么做的。記。号缮愂瞧浠惖奶乩_@個事實告訴我們:可以在派生類中進行數據類型的轉換,使其成為基類的一個實例。清單8-2的最后一行實際上執行了Parent類中的 print()方法。

小結
你已經了解了如何創建一個派生類及其基類。你可以對基類成員進行初始化,以及如何對方法進行隱式或者顯式的調用。你也了解了派生類是其基類的一個特例。


主站蜘蛛池模板: 性欧美大战久久久久久久久 | 天天干天天插天天 | 天天干天天天天 | 日韩欧美综合在线 | 午夜无遮挡怕怕怕免费视频 | 一区二区三区网站在线免费线观看 | 桃花久久 | 天堂在线最新资源 | 中文字幕第一页国产 | 亚洲剧场午夜在线观看 | 五月婷婷六月丁香综合 | 中文字幕不卡在线 | 日本免费看视频 | 四只虎免费永久观看地址 | 日本男人的天堂 | 亚洲欧美日韩在线精品一区二区 | 五月综合激情 | 日本激情在线看免费观看视频 | 探花视频观看在线视频 | 日本视频在线观看不卡高清免费 | 亚洲男人的天堂网站 | 伊人久久大线蕉香港三级 | 亚洲一区二区三区在线 | 日本一本高清 | 色婷婷久久综合中文久久蜜桃 | 在线看亚洲| 夜色综合 | 亚洲地址一地址二地址三 | 中文天堂最新版www官网在线 | 色橹橹欧美在线观看高清视频 | 青娱娱乐盛宴免费一二区 | 青青青青青免精品视频 | 五月天婷婷精品免费视频 | 深夜视频在线观看免费 | 人体自拍亚洲综合图区 | 色猫av | 四虎成人免费影院网址 | 青草社区在线 | 中文字幕在线乱码免费毛片 | 欧美一区二区三区不卡 | 日日夜夜拍 |