C#.NET学习笔记 -类,接口,对象
在開始談接口和類的總結(jié)之前,先來了解接口和類的基本概念.熟悉了概念再來看代碼就容易理解些.
先來看類的概念:什么是類?
類是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心,實(shí)際上是一種復(fù)雜的數(shù)據(jù)類型。將不同類型的數(shù)據(jù)和與這些數(shù)據(jù)相關(guān)的操作封裝在一起,就構(gòu)成了類。而將抽象化的類具體化,就成了對(duì)象,通常說對(duì)象是類的實(shí)例。
類是將現(xiàn)實(shí)事物抽象化,而對(duì)象是將事物具體化。類包含方法,屬性,成員。
接口的概念:什么是接口?接口可以理解為,對(duì)類的規(guī)定,對(duì)類的約束,甚至對(duì)整個(gè)項(xiàng)目的約束.
接口的使用比較多的情況是在多人協(xié)作開發(fā)的項(xiàng)目中.因?yàn)槊咳硕紩?huì)分配不同的任務(wù).例如,在一個(gè)銀行系統(tǒng)中,總行下面會(huì)有分行,分行下面又會(huì)有支行..面對(duì)這樣的結(jié)構(gòu),項(xiàng)目肯定是需要多人合作進(jìn)行的..多人合作則會(huì)產(chǎn)生一個(gè)問題,如:A負(fù)責(zé)浙江分行,B負(fù)責(zé)海南分行,C負(fù)責(zé)河南分行..因?yàn)槊總€(gè)地區(qū)的銀行都會(huì)根據(jù)當(dāng)?shù)夭煌那闆r會(huì)有不同的需求,但是他們又有一些相似或者一樣的需求..如果ABC每個(gè)人都直接針對(duì)各自的分行進(jìn)行代碼的編寫.則肯定會(huì)有大量重復(fù)的代碼出現(xiàn).而且最要命的問題是,每個(gè)人對(duì)方法,對(duì)變量的命名和編程的風(fēng)格都會(huì)不同..如果項(xiàng)目這個(gè)時(shí)候突然改變了需求,因此讓A負(fù)責(zé)B的工作,B負(fù)責(zé)C的工作.C負(fù)責(zé)A的工作..可以想象ABC三個(gè)人的工作開展是怎么樣的困難???
這個(gè)時(shí)候如果使用了接口,類似這樣的問題就可以在最大程度上緩解..對(duì)于相似或者一樣的功能,項(xiàng)目經(jīng)理定義了接口,有了接口,就有了對(duì)這些功能制定規(guī)則和約束,而類繼承了接口后,因此ABC三人就有了一個(gè)共同的接口,也可以說是有了一個(gè)共同的目標(biāo)---相同的的方法,屬性,事件.他們有了外在的約定,唯一要做好的就是對(duì)接口的實(shí)現(xiàn)工作..而不必再考慮我要怎么做這個(gè)類呢?我能不能這么做呢?..因?yàn)樽钌蠈拥慕涌诟嬖V他們,按照我說的做就好了...接口在這個(gè)時(shí)候就是準(zhǔn)則..
這個(gè)時(shí)候或許有人就會(huì)說,既然接口這么好,那為什么不給每個(gè)類都制定一個(gè)接口??接口在大部分時(shí)候扮演的是一個(gè)對(duì)行業(yè)規(guī)則,而不是對(duì)類的規(guī)則..如果你現(xiàn)在還不理解接口和類的關(guān)系和概念,不要緊..那是因?yàn)槟悻F(xiàn)在還沒有到需要用他們的時(shí)候..當(dāng)你感覺自己編寫的代碼有越來越多這樣或那樣的不足.并且急需找到解決辦法的時(shí)候,你就能的明白了..有人說過,一個(gè)方法,一個(gè)功能,一個(gè)技巧都是在特定的環(huán)境下才能體現(xiàn)出它的優(yōu)點(diǎn)和好處..所以現(xiàn)在不理解不要急..關(guān)鍵是在以后碰到類似的問題的時(shí)候能想到這個(gè)方法,這個(gè)技巧...這樣就是____進(jìn)步!!!
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/colder/archive/2010/05/18/1738166.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的C#.NET学习笔记 -类,接口,对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dusktree System (1)
- 下一篇: c# char unsigned_dll