• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    抽象類和接口的區別

    抽象類和接口兩者的區別,在剛學編程的人眼中,仿佛區別不較著,用誰都可以。可是,這個卻又是經常被問到的問題。那么,抽象類和接口都有哪些區別呢?本文以C#為例進行申明

    東西/原料

    • visual studio

    方式/步調

    1. 1

      本文以C#語法為例申明,打開visual studio,建立肆意一個項目類型都行。本文以建立一個節制臺應用程序為例,當項目建立好之后,再建立一個接口類,叫做IAnimal,與一個抽象類Person

    2. 2

      接口只是一組方式的調集,并不克不及包含任何實現,所以,接口是不克不及包含字段的。抽象類在沒有抽象方式的環境下,跟通俗方式不同不大,其他類內部能有的工具,抽象類也都可以有。所以,抽象類是可以包含字段界說的

    3. 3

      接口中的方式只能有方式體,不克不及有具體的實現代碼。抽象類中的方式,若是不加abstract就可以有方式體的實現代碼,一旦加上abstract這個關頭字的方式,就是抽象方式,這樣的方式,不克不及有方式體

    4. 4

      在C#中,一個類可以同時實現多個接口。可是,一個類只能同時實現一個父類,實現抽象的父類也只能是一個,這就是C#中的單擔當原則

    5. 5

      接口并不嚴酷要求里面的方式有不異的共性與聯系,好比,在IAnimal方式中,可以插手物品相關的方式。可是,抽象類凡是是對一種什物的抽象,所以,原則上不會將不相關的方式插手進來,因為,抽象類中界說的方式,子類可以或許主動獲得并利用

    6. 6

      接口中的方式是不克不及帶拜候潤色符的,即使是public也不克不及有,默認就是公開的。抽象類中的方式,可以帶任何拜候潤色符,好比public、private、protected等

    7. 7

      子類實現接口的時辰,必需將接口中的所有方式都實現,無一破例。可是,在抽象類中的方式,若是不是利用abstract潤色的抽象方式,就可以不實現,子類主動獲得這個方式的利用權限

    • 發表于 2019-06-13 17:02
    • 閱讀 ( 614 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆