你們也許都知道作工藝器或是工廠裏作生產某些產品的模具模具。如作一個金屬的五角星,只要將鋼水罐到五角星的模具模具裏就能夠很容易地製作五角星。
咱們也能夠將類比喻成作五角星的模具。 而生產出的一個個五角星就是一個個對象。 爲了創建不一樣的對象(有的是金屬的、有的塑料的,等等),可經過向模具裏灌入不一樣的液態材料就能夠製作。這也至關於向類的構造方法中傳入不一樣的參數(至關於不一樣的液態材料)。
還有就是接口,若是說類是對象的抽象,那麼接口就是類的抽象。
咱們也能夠將接口當作是製作這個五角星模具的規格列表(至關於接口中的抽象方法)。也就是說,只有這個模具(類)符合(實現)相應的規格(接口),纔會成爲製作五角星的模具模具。
哈哈,固然,這個使用模具生成五角星及其餘產品的工廠能夠當作是對象工廠。
htm
也就是說,類和接口都不是實際的產品,都不能拿來用,類至關於模具(沒人會拿模具模具在商店裏賣吧,估計只有對象工廠會買),而接口只至關於製作模具的規 格列表,如尺寸、角度等。而這些規格列表的內容須要在具體類中實現纔可能成爲具體的模具,如長度和寬度,若是在類中實現爲長度等於寬度,那麼這個類就成爲 一個成方形的模具,若是長度不等於寬度,就是一個長方形的模具。而後再實例化這個模具(類),就生成出一個個正方形或長方形對象。
在面向對象理論中還有一個抽象類,這個抽象類其實就至關於一個半成品的模具。如只實如今長度和寬度(至關於在抽象類中已實現的方法),並無實現深度(這 個深度至關於抽象類中的抽象方法,這個抽象方法須要在抽象類的子類中實現)。因此這個模具就是半成品了。所以,是沒法直接拿半成品的模具(抽象類)去生產 (實例化)產品(對象)的。 對象
http://www.it610.com/article/3938477.htm接口