設計模式 物件導向基礎(重構 抽象類)

2021-08-28 00:22:14 字數 652 閱讀 5714

【重構】

在前面物件導向三大特性中介紹了有其他動物來報名參加叫聲比賽,如果再有更多的小動物來比賽呢?我們在實現相應的動物的類,在繼承animal,這時候我們會發現還有大量重複的**,那該怎麼辦呢?這時候我們就可以用到重構了。

重構:指同乙個類有 多個同名建構函式 ,但他們引數 不完全相同

abstract class animal

}

各個動物的**

class dog:animal 

public dog(string name): base(name)

protected override string getshoutsound()

}

【抽象類】

在物件導向的概念中,所有的物件都是通過類來描繪的,但是反過來,並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。

特點:

一、抽象類不能例項化

二、抽象方法必須被子類重寫的方法,抽象方法可以被看成是沒有實體的虛方法

三、如果類中包含抽象方法,那麼類就是必須定義為抽象類,不論是否包含其他一般方法。

物件導向 抽象類

抽象 裡邊有未明確的東西。抽象類的特點 1 抽象方法一定在抽象類中。2 抽象方法和抽象類都必須被abstract關鍵字修飾。3 抽象類不可以用new建立物件,因為呼叫抽象方法沒意義。4 抽象類中的抽象方法要被使用,必須由子類複寫其所有的抽象方法後,建立子類物件呼叫。如果子類只覆蓋部分抽象方法,那麼該...

物件導向 抽象類

抽象類概述 什麼是抽象類?什麼是抽象方法?抽象方法 沒有方法體的方法就是抽象方法,必須用abstract關鍵字去修飾。抽象類 擁有抽象方法的類,就是抽象類。應用場景 在不同的子類往上抽取方法時,方法的定義是一樣的,但是方法體不一樣,所以抽取到父類時就可以使用抽象方法。簡單來說 當多個子類擁有同乙個功...

物件導向 抽象類

帶引數的抽象類以及抽象方法 編寫構造方法以及預設的構造方法,備註 未自行編寫構造方法時具有預設的構造方法 一旦自行編寫了構造方法,預設不寫的構造方法,必須編寫 package 測試類 public class cs 具有三個引數的構造方法 public cs string name,int zhi,...