C 之簡單工廠模式與多型性

2022-09-23 20:12:10 字數 881 閱讀 9514

最近看簡單工廠模式,**中只是簡單的講了講,於是自己又上網查了一下,有了乙個初步的了解,它和多型性有著密切的關係,它是通過建立乙個父類,通過派生出不同的子類來產生不同的功能,再根據主程式中所指定的例項化的派生子類來實現的。

工廠,我想大家都知道現實中的工廠是幹什麼的,就生產產品的,至於規格,他們不知道,於是需要乙個抽象角色來告訴他生產什麼,比如螺母,於是父類產生了,就是螺母,但是規格呢?這時候就需要具體角色來規定規格,也就是由抽象類父類派生出具體的子類來具體分類出不同的規格,下面用一段簡單的**描述一下:

using system;

using system.text;

class program

//videoshow工廠

static void test()

//運用到了多型,相當於乙個介面

static void play(videoshow vs)

}//抽象角色:videoshow

public abstract class videoshow

//兩種具體實現

//具體角色: vcd

public class vcd :videoshow

}//具體角色:***

public class *** :videoshow

}下面是執行結果:

這段**就描述了乙個簡單工廠模式,從小往大說,首先要生產的是***\vcd,這兩種具體產品同屬於抽象類videoshow,而如果直接把videoshow帶入主程式的話,想要更改則需要改子類,該主函式,為了靈活和可擴充,於是需要有乙個介面,那麼何為介面呢?也就是**中的vs,它是一種規範,而vcd、***都符合這種規範,介面的使用符合開閉原則,儘量減少了**與環境的直接接觸而換為介面,想要實現什麼結果,只需要在主程式和子類中進行擴充就可以了。

多型與多型性

1.什麼是多型 多型指的是同一種 類事物的不同形態 2.為何要用多型性 1 增加了程式的靈活性 2 增加了程式的可擴張性 多型性 分為靜態多型性和動態多型性 多型性 在多型的背景下,可以在不用考慮物件具體型別的前提下而直接使用物件 多型性的精髓 統一 3.如何用多型 class animal def...

C 繼承與多型性

編寫乙個人員資訊管理系統。這個系統的功能是 互動式的實現校園人員資訊的錄入與顯示。分析 學校裡,主要有四類人員 大學本科學生 教師 研究生和助教。大學本科生每週有固定的學時數。教師除了固定的學時數外,還有每週的教學時數。研究生除了固定的學時數外,每週還可以自由做一定的研究。助教生除了上課外,還要做研...

Python 多型與多型性

同一種事務的多種形態 就是多型 車有多種形態,你沒有具體學習某乙個物件,你是學的怎麼開車 這就是多型性 1 增加了程式的靈活性 以不變應萬變,不論物件千變萬化,使用者都是同一種形式去呼叫,如func animal 2 增加了程式可擴充套件性 通過繼承animal類建立了乙個新的類,使用者無需改變自己...