遺產(chǎn)繼承基礎知識
法定繼承是依照法律的規定,由繼承人按繼承順序、繼承份額進(jìn)行繼承。
《繼承法》規定的法定繼承人是:配偶、子女、父母、兄弟姐妹、祖父母、外祖父母。
繼承順序是指上述繼承人繼承遺產(chǎn)的先后順序。《繼承法》將繼承人分成兩個(gè)繼承順序:
第一順序:配偶、子女、父母;
第二順序:兄弟姐妹、祖父母、外祖父母。
繼承開(kāi)始后,先由第一順序的繼承人繼承,沒(méi)有第一順序繼承人繼承(包括沒(méi)有第一順序繼承人及雖有第一順序繼承人但全部放棄或喪失繼承權的,才由第二順序繼承人繼承。
繼承份額是指同一順序繼承人繼承遺產(chǎn)時(shí),份額一般均等。對于有特殊困難的人、未成年人、缺乏勞動(dòng)能力又無(wú)生活來(lái)源的繼承人,應該予以照顧,適當多分配一些遺產(chǎn)。對于有撫養能力和撫養條件的繼承人,不盡撫養義務(wù)的,在分配遺產(chǎn)時(shí)應當不分或少分,。繼承人經(jīng)過(guò)協(xié)商一致,可以平均分配遺產(chǎn),也可以不平均分配遺產(chǎn),這一點(diǎn)在房產(chǎn)的繼承上尤為重要。
"“繼承”(Inheritance)是面向對象軟件技術(shù)當中的1個(gè)概念,假如1個(gè)類(lèi)A繼承自另1個(gè)類(lèi)B,就把這個(gè)A稱(chēng)為"B的子類(lèi)",而把B稱(chēng)為"A的父類(lèi)"。
繼承可以使得子類(lèi)具有父類(lèi)的各種屬性和方法,而不要再次編寫(xiě)相同的代碼。在令子類(lèi)繼承父類(lèi)的同時(shí),可以重新定義某些屬性,并重寫(xiě)某些方法,即覆蓋父類(lèi)的原有屬性和方法,使其獲得與父類(lèi)不一樣的功能。
盡管子類(lèi)包括父類(lèi)的全部成員,但它不能訪(fǎng)問(wèn)父類(lèi)中被聲明成private 的成員。 繼承是指1個(gè)對象直接用另一對象的屬性和方法。
事實(shí)上,我們遇到的特別多實(shí)體都有繼承的含義。例如,若把汽車(chē)看成1個(gè)實(shí)體,它可以分成多個(gè)子實(shí)體,如:卡車(chē)、公共汽車(chē)等。
這類(lèi)子實(shí)體都具有汽車(chē)的特性,因此,汽車(chē)是它們的"父親",而這類(lèi)子實(shí)體則是汽車(chē)的"孩子"。 繼承的目的:實(shí)現代碼重用派生類(lèi)聲明: class 派生類(lèi)名:繼承方式 基類(lèi)名 { 新增成員聲明; };三種繼承方式: 公有繼承 public (原封不動(dòng)) 保護繼承 protected (折中) 私有繼承 private (化公為私)繼承方式影響子類(lèi)的訪(fǎng)問(wèn)權限: 派生類(lèi)成員對基類(lèi)成員的訪(fǎng)問(wèn)權限 通過(guò)派生類(lèi)對象對基類(lèi)成員的訪(fǎng)問(wèn)權限 同類(lèi)事物具有共同性,在同類(lèi)事物中,每一個(gè)事物又具有其特殊性。
運用抽象的原則舍棄對象的特殊性,抽取其共同性,則得到1個(gè)適應于一批對象的類(lèi),這便是基類(lèi)(父類(lèi)),而把具有特殊性的類(lèi)稱(chēng)為派生類(lèi)(子類(lèi)),派生類(lèi)的對象擁有其基類(lèi)的全部或部分屬性與方法,稱(chēng)作派生類(lèi)對基類(lèi)的繼承。"。
一個(gè)類(lèi)最多只允許從一個(gè)類(lèi)中派生;不允許從兩個(gè)或者更多的類(lèi)中派生。
在C#中的繼承符合下列規則:? 繼承是可傳遞的。如果C從B中派生,B又從A中派生,那么C不僅繼承了B中聲明的成員,同樣也繼承了A中的成員。
Object類(lèi)作為所有類(lèi)的基類(lèi)。? 派生類(lèi)應當是對基類(lèi)的擴展。
派生類(lèi)可以添加新的成員,但不能除去已經(jīng)繼承的成員的定義。? 構造函數和析構函數不能被繼承。
除此以外的其它成員,不論對它們定義了怎樣的訪(fǎng)問(wèn)方式,都能被繼承。基類(lèi)中成員的訪(fǎng)問(wèn)方式只能決定派生類(lèi)能否訪(fǎng)問(wèn)它們。
派生類(lèi)如果定義了與繼承而來(lái)的成員同名的新成員,就可以覆蓋已繼承的成員。 但這并不因為這派生類(lèi)刪除了這些成員,只是不能再訪(fǎng)問(wèn)這些成員。
類(lèi)可以定義虛方法、虛屬性以及虛索引指示器,它的派生類(lèi)能夠重載這些成員,從而實(shí)現類(lèi)可以展示出多態(tài)性。1.覆蓋在類(lèi)的成員聲明中,可以聲明與繼承而來(lái)的成員同名的成員。
2。多態(tài)(Polymorphism)在面向對象的系統中,多態(tài)性是一個(gè)非常重要的概念,它允許客戶(hù)對一個(gè)對象進(jìn)行操作,由對象來(lái)完一系列的動(dòng)作,具體實(shí)現哪個(gè)動(dòng)作,如何實(shí)現由系統負責解釋。
在C#中,多態(tài)性是指同一操作作用于不同的類(lèi)的實(shí)例,不同的類(lèi)將進(jìn)行不同的解釋?zhuān)詈螽a(chǎn)生不同的執行結果。C#支持兩種類(lèi)型的多態(tài)性:? 編譯時(shí)的多態(tài)性編譯時(shí)的多態(tài)性是通過(guò)重載來(lái)實(shí)現的。
對于非虛的成員來(lái)說(shuō),系統在編譯時(shí),根據傳遞的參數,返回的類(lèi)型等信息決定實(shí)現何種操作。 ? 運行時(shí)的多態(tài)性運行時(shí)的多態(tài)性就是指直到系統運行時(shí),才根據實(shí)際情況決定實(shí)現何種操作。
C#中,運行時(shí)的多態(tài)性通過(guò)虛成員實(shí)現。編譯時(shí)的多態(tài)提供了運行速度快的特點(diǎn),而運行時(shí)的多態(tài)性則帶來(lái)了高度靈活和抽象的特點(diǎn)。
給你舉個(gè)例子吧: class B{ protected: ?string strWebSite; public: ?string& getWebSite(){return strWebSite;} ?void setWebSite(string& strValue){strWebSite = strValue;} }; class D: public B{ public: ? ?string& getValue(){ return strWebSite;} ? ?void setValue(string& strValue){ strWebSite = strValue;} } B是父類(lèi),擁有一個(gè)protected成員strWebSite;D是子類(lèi)沒(méi)有定義新的數據成員。
如果我們定義一個(gè)D對象 D d; B& rb = d; D& rd = d; rb。setWebSite("b string"); cout 。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.948秒