Bài 5: Kế thừa – Đa hình
Số trang: 21
Loại file: ppt
Dung lượng: 125.50 KB
Lượt xem: 19
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mục tiêu của bài:Nhằm trang bị cho người học:Kiến thức và kỹ năng về tính thừa kế.Kiến thức và kỹ năng về tính đa hình.Các kiến thức về lớp trừu tượng.Kiến thức và kỹ năng về các phương thức, các thành phần static.Kiến thức và kỹ năng về tham số và các phương thức nạp chồng.Kiến thức và kỹ năng về thuộc tính.
Nội dung trích xuất từ tài liệu:
Bài 5: Kế thừa – Đa hình Bài 5. Kế thừa – Đa hìnhMục tiêu của bài:Nhằm trang bị cho người học:Kiến thức và kỹ năng về tính thừa kế.Kiến thức và kỹ năng về tính đa hình.Các kiến thức về lớp trừu tượng.Kiến thức và kỹ năng về các phương thức, các thành phần static.Kiến thức và kỹ năng về tham số và các phương thức nạp chồng.Kiến thức và kỹ năng về thuộc tính. 1. Sự kế thừa Mộttrongnhữngưuđiểmnổibậtcủalậptrìnhhướngđốitượngđólàthừakế,đólàsựsửdụnglạinhữngthuộctínhvàhànhvicủamộtlớp.Cóhaikiểukếthừatronglậptrình,đơnkếthừavàđakếthừa.C#cungcấpmôhìnhđơnkếthừa.Thựchiệnkếthừa TrongC#,khitatạomộtlớpkếthừabằngcáchcôngmộtthêmdấu“:”vàsautêncủalớpkếthừavàtheosauđólàlớpcơsởnhưsau:publicclassListBox:WindowcónghĩalàtakhaibáomộtlớpmớiListBoxkếthừatừlớpWindow.classAnimal 1. Sự kế thừa{protectedintifoots;protectedstringsName;protectedvoidsetFoot(intival){ifoots=ival;}protectedvoidsetName(stringsVal){sName=sVal;}publicvoiddisplayProperties(){Console.WriteLine(sName+have+ifoots.ToString()+foots);}classDog:Animal 1. Sự kế thừa{publicDog(intival){setName(Dog);ifoots=ival;}}classChicken:Animal{publicChicken(intival){setName(Chicken);setFoot(ival);} 1. Sự kế thừa Ởvídụtrên,DogvàChickenlàhailớpkếthừatừlớpAnimal,dođócácthuộctínhnhưsốchân,ifootsvàtênsNameđươngnhiênxuấthiệntronghailớpnàyvàchophépsửdụng.Tươngtự,cáchàmnhưsetName(),setFoot(),displayProperties()tạilớpAnimalcũngđượckếthừaxuốnghailớpDogvàChicken.Dođótacóthểgọinhữnghàmnày,vàkếtquảhiểnthịkhigọihàmdisplayProperties()theođốitượngobjDogvàobjChickenlàkhácnhau. 2. Đa hìnhclassParent{publicintmethodA(){returnmethodB()*methodC();}publicvirtualintmethodB(){return1;}publicintmethodC(){return2;}}classChild:Parent 2. Đa hình{publicoverrideintmethodB(){return3;}}classProgram{staticvoidMain(string[]args){Childobjchild=newChild();Console.WriteLine(Resultis+objchild.methodA().ToString());Console.Read();}} 2. Đa hìnhKếtquảchạytrươngtrình 6 3. Lớp trừu tượngabstractclassMyBaseC//Abstractclass{protectedintx=100;protectedinty=150;publicabstractvoidMyMethod();//AbstractmethodpublicabstractintGetX//Abstractproperty{get;}publicabstractintGetY//Abstractproperty{get;}} 3. Lớp trừu tượngclassMyDerivedC:MyBaseC{publicoverridevoidMyMethod(){x++;y++;}publicoverrideintGetX//overridingproperty{get{returnx+10;}}publicoverrideintGetY//overridingproperty{get{returny+10;}} 3. Lớp trừu tượngclassProgram{staticvoidMain(string[]args){MyDerivedCmC=newMyDerivedC();mC.MyMethod();Console.WriteLine(x={0},y={1},mC.GetX,mC.GetY);}}}Kếtquả:x=111,y=161Lớpniêmphongvớiýnghĩatráingượchẳnvớilớptrừutượng.Lớpniêmphongkhôngchobấtkỳlớpnàokháckếthừanó.Tadùngtừkhoásealedđểthaychotừkhoáabstractđểđượclớpnày. 4. Các lớp lồng nhaupublicclassA{publicclassB{}}classProgram{staticvoidMain(string[]args){A.Bb=newA.B();}} 4. Các lớp lồng nhauclassMyClass{classMyCounter{publicintCount=0;}privateMyCountercounter;publicMyClass(){counter=newMyCounter();}publicintIncr(){returncounter.Count++;}publicintGetValue(){returncounter.Count;}} 4. Các lớp lồng nhauclassProgram{staticvoidMain(string[]args){MyClassmc=newMyClass();mc.Incr();mc.Incr();mc.Incr();mc.Incr();mc.Incr();mc.Incr();Console.WriteLine(Total:{0},mc.GetValue());}}//Kếtquả:Total:6 4.1.1 Truyền tham trị+Truyềnthamchiếukhôngkhởitạo publicclassThamChieuref { staticvoidMethod(outinti,outstrings1,outstrings2) { i=44; s1=Ivebeenreturned; s2=null; } staticvoidMain() { intvalue; stringstr1,str2; Method(outvalue,outstr1,outstr2); } } ...
Nội dung trích xuất từ tài liệu:
Bài 5: Kế thừa – Đa hình Bài 5. Kế thừa – Đa hìnhMục tiêu của bài:Nhằm trang bị cho người học:Kiến thức và kỹ năng về tính thừa kế.Kiến thức và kỹ năng về tính đa hình.Các kiến thức về lớp trừu tượng.Kiến thức và kỹ năng về các phương thức, các thành phần static.Kiến thức và kỹ năng về tham số và các phương thức nạp chồng.Kiến thức và kỹ năng về thuộc tính. 1. Sự kế thừa Mộttrongnhữngưuđiểmnổibậtcủalậptrìnhhướngđốitượngđólàthừakế,đólàsựsửdụnglạinhữngthuộctínhvàhànhvicủamộtlớp.Cóhaikiểukếthừatronglậptrình,đơnkếthừavàđakếthừa.C#cungcấpmôhìnhđơnkếthừa.Thựchiệnkếthừa TrongC#,khitatạomộtlớpkếthừabằngcáchcôngmộtthêmdấu“:”vàsautêncủalớpkếthừavàtheosauđólàlớpcơsởnhưsau:publicclassListBox:WindowcónghĩalàtakhaibáomộtlớpmớiListBoxkếthừatừlớpWindow.classAnimal 1. Sự kế thừa{protectedintifoots;protectedstringsName;protectedvoidsetFoot(intival){ifoots=ival;}protectedvoidsetName(stringsVal){sName=sVal;}publicvoiddisplayProperties(){Console.WriteLine(sName+have+ifoots.ToString()+foots);}classDog:Animal 1. Sự kế thừa{publicDog(intival){setName(Dog);ifoots=ival;}}classChicken:Animal{publicChicken(intival){setName(Chicken);setFoot(ival);} 1. Sự kế thừa Ởvídụtrên,DogvàChickenlàhailớpkếthừatừlớpAnimal,dođócácthuộctínhnhưsốchân,ifootsvàtênsNameđươngnhiênxuấthiệntronghailớpnàyvàchophépsửdụng.Tươngtự,cáchàmnhưsetName(),setFoot(),displayProperties()tạilớpAnimalcũngđượckếthừaxuốnghailớpDogvàChicken.Dođótacóthểgọinhữnghàmnày,vàkếtquảhiểnthịkhigọihàmdisplayProperties()theođốitượngobjDogvàobjChickenlàkhácnhau. 2. Đa hìnhclassParent{publicintmethodA(){returnmethodB()*methodC();}publicvirtualintmethodB(){return1;}publicintmethodC(){return2;}}classChild:Parent 2. Đa hình{publicoverrideintmethodB(){return3;}}classProgram{staticvoidMain(string[]args){Childobjchild=newChild();Console.WriteLine(Resultis+objchild.methodA().ToString());Console.Read();}} 2. Đa hìnhKếtquảchạytrươngtrình 6 3. Lớp trừu tượngabstractclassMyBaseC//Abstractclass{protectedintx=100;protectedinty=150;publicabstractvoidMyMethod();//AbstractmethodpublicabstractintGetX//Abstractproperty{get;}publicabstractintGetY//Abstractproperty{get;}} 3. Lớp trừu tượngclassMyDerivedC:MyBaseC{publicoverridevoidMyMethod(){x++;y++;}publicoverrideintGetX//overridingproperty{get{returnx+10;}}publicoverrideintGetY//overridingproperty{get{returny+10;}} 3. Lớp trừu tượngclassProgram{staticvoidMain(string[]args){MyDerivedCmC=newMyDerivedC();mC.MyMethod();Console.WriteLine(x={0},y={1},mC.GetX,mC.GetY);}}}Kếtquả:x=111,y=161Lớpniêmphongvớiýnghĩatráingượchẳnvớilớptrừutượng.Lớpniêmphongkhôngchobấtkỳlớpnàokháckếthừanó.Tadùngtừkhoásealedđểthaychotừkhoáabstractđểđượclớpnày. 4. Các lớp lồng nhaupublicclassA{publicclassB{}}classProgram{staticvoidMain(string[]args){A.Bb=newA.B();}} 4. Các lớp lồng nhauclassMyClass{classMyCounter{publicintCount=0;}privateMyCountercounter;publicMyClass(){counter=newMyCounter();}publicintIncr(){returncounter.Count++;}publicintGetValue(){returncounter.Count;}} 4. Các lớp lồng nhauclassProgram{staticvoidMain(string[]args){MyClassmc=newMyClass();mc.Incr();mc.Incr();mc.Incr();mc.Incr();mc.Incr();mc.Incr();Console.WriteLine(Total:{0},mc.GetValue());}}//Kếtquả:Total:6 4.1.1 Truyền tham trị+Truyềnthamchiếukhôngkhởitạo publicclassThamChieuref { staticvoidMethod(outinti,outstrings1,outstrings2) { i=44; s1=Ivebeenreturned; s2=null; } staticvoidMain() { intvalue; stringstr1,str2; Method(outvalue,outstr1,outstr2); } } ...
Tìm kiếm theo từ khóa liên quan:
Công Nghệ Thông Tin Kỹ thuật lập trình thủ thuật máy tính tin học vi tính ngôn ngữ lập trình Xây dựng lớp đối tượng C# Kế thừa Đa hìnhTài liệu có liên quan:
-
52 trang 468 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 367 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 348 0 0 -
96 trang 334 0 0
-
74 trang 329 0 0
-
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 321 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 321 1 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 316 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 310 0 0 -
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 304 0 0