C++中關(guān)于類的兩個(gè)概念——基于對(duì)象和面向?qū)ο?/h1>
基于對(duì)象
描述單個(gè)類
面向?qū)ο?/h2>
面向?qū)ο缶幊?/strong>——OOP(Object Oriented Programming)
面向?qū)ο蟪绦蛟O(shè)計(jì)——OOD(Object Oriented Design)
類之間的三種關(guān)系:組合(Composition),委托(Delegation)和繼承(Inheritance)
組合(Composition)
表示“has-a”關(guān)系
構(gòu)造由內(nèi)向外,析構(gòu)由外向內(nèi)????????????
委托(Delegation)
表示“has-a-pointer-to”,是包含指針的組合(“Composition by reference”)
其實(shí)是by pointer 但是學(xué)術(shù)上的說法叫做by reference。
組合與委托的區(qū)別:
組合:兩個(gè)(或多個(gè))類以實(shí)體(引用?)方式相連,聲明周期相同
委托:兩個(gè)(或多個(gè))類以指針方式相連,生命周期不同
繼承(Inheritance)
表示“is-a”關(guān)系
構(gòu)造由外而內(nèi),析構(gòu)由外而內(nèi)??????????????????