C#學習筆記(七)——定義類

來源:互聯網
上載者:User

標籤:style   blog   color   os   ar   使用   sp   div   on   

一、C#中類的定義

1、類的定義

class Myclass{}

       預設情況下是類是內部的,即外部的項目是不可以訪問這個類,相當於加internal來修飾。但實際上是不需要加入的。

       如果要指定類是公用的,可以讓外部的項目訪問的話,應該加上關鍵字public

public class MyClass{}

2、抽象與密封

      我們可以指定類是抽象的(不能執行個體化),或者是密封的(不能繼承)

比如說:

public abstract class MyClass{}public sealed class MyClass{}

3、繼承

還可以在類的定義中指定繼承,我們使用一個冒號來表示繼承

public class MyClass:MyBase{}

PS:在C#的定義中,只能有一個基類,如果繼承了一個抽象類別,就必須實現所繼承的所有抽象成員。(除非衍生類別也是抽象類別)

        編譯器不允許衍生類別的可訪問性高於基類。

4、介面

(1)介面的繼承

        與繼承類相同,繼承介面也是直接緊跟在冒號的後面。但是同時繼承了類的話,那麼我們就必須把繼承的介面放在類的後面,用逗號隔開

如:

public class MyClass:ImyInterface{}public class MyClass:MyBase,ImyInterface{}

而且介面不像類,只能繼承一個,介面可以一次性繼承很多個,中間以逗號隔開。

(2)介面的定義

Interface IMyInterface{}

       與類相同,也是預設是內部的介面,如果要成為公用的,加上public關鍵字即可。

5、一個demo

namespace Exercise{    public abstract class myBase    {    }    internal class Myclass:myBase    {    }    public interface IMyBaseInterface    {    }    internal interface IMyBaseInterface2    {    }    internal interface IMyInterfae:IMyBaseInterface,IMyBaseInterface2    {    }    internal sealed class MycompLexClass:Myclass,IMyInterfae    {    }    class Program    {                static void Main(string[] args)        {            MycompLexClass myobj = new MycompLexClass();            Console.WriteLine(myobj.ToString());            Console.ReadKey();        }    }}

C#學習筆記(七)——定義類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.