Bài giảng c và môi trường donet bài 6

16 196 0
Bài giảng c và môi trường donet   bài 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài Kế thừa Đa hình  Ôn tập lại cũ • Lớp đối tượng • Constructor Destructor • Garbage Collector • Con trỏ this • Phương thức(Method) • Chồng phương thức(Method Overloading) • Chông toán tử(Operator Overloading) • Access modifier (phạm vi truy xuất) • Từ khóa ref out  Nội dung trình bày • Khái niệm kế thừa • Cài đặt kế thừa • Từ khóa protected • Sealing class • Từ khóa base • Từ khóa new • Method Overriding • Polymorphism(đa hình) Subject name / Session# / of Totalpage Kế thừa đa hình  Khái niệm kế thừa • Kế thừa đặc điểm quan trọng ngôn ngữ lập trình hướng đối tượng • Kế thừa khả cho phép sử dụng lại đọan code có sẵn tiết kiệm thời gian lập trình • Lớp A kế thừa từ lớp B lớp A gọi derived class(child class/subclass), lớp B gọi base class(parent class/super class) • Có loại kế thừa: − Đơn kế thừa Ví dụ kế thừa lớp − Đa kế thừa Ví dụ kế thừa Interface Kế thừa đa hình  Cài đặt kế thừa • : • Trong classA kế thừa từ classB • Trong lớp classA truy xuất đến thành phần lớp classB thành phần có phạm vi truy xuất proteced public • Các construtor không kế thừa • Ví dụ DEMO kế thừa Kế thừa đa hình  Từ khóa proteced • Để qui định phạm vi truy xuất thành phần bên lớp • Một thành phần(thuộc tính, phương thức) Kế thừa đa hình  Sealing class • Một lớp có từ khóa sealed có nghĩa lớp không cho phép lớp khác kế thừa … sealed class classOne { //Class Implementation } … Kế thừa đa hình  Từ khóa base • Dùng để truy cập đến thành phần(thuộc tính, phương thức…) bên lớp sở từ lớp dẫn xuất(lớp kế thừa) • Dùng để gọi constructor lớp sở tạo đối tượng lớp dẫn xuất • Không sử dụng từ khóa base phương thức tĩnh • Ví dụ DEMO từ khóa base Kế thừa đa hình  Từ khóa new • Dùng để che dấu thuộc tính phương thức lớp sở • Do lớp dẫn xuất, muốn gọi thuộc tính phương thức lớp sở, sử dụng từ khóa base • Ví dụ minh họa từ khóa new Kế thừa đa hình  Method overriding • Là khả cho phép lớp dẫn xuất định nghĩa lại(override/redefine) phương thức lớp sở • Phương thức lớp sở lớp dẫn xuất có prototype(signature) thưng thực công việc khác • Để override (ghi đè) phương thức lớp sở: − Đặt từ khóa virtual trước phương thức lớp sở − Đặt từ khóa override trước phương thức muốn override lớp dẫn xuất Kế thừa đa hình  Overriding method • Cú pháp khai báo [access modifier] virtual [return-type] name( [parameters-list] ) { //virtual method implementation } [access modifier] override [return-type] name( [parameters-list] ) { //virtual method implementation } • Ví dụ DEMO method overriding Kế thừa đa hình  Polymorphism(đa hình) • Nói ngữ cảnh chung chung, đa hình khả biến hóa thành nhiều hình dạng khác • Trong lập trình hướng đối tượng: đa hình? − Ví dụ có lớp shape(hình vẽ), lớp shape có phương thức Area() Sau lớp Square(hình vuông), Rectangle(hình CN), Circle(đường tròn) kế thừa từ lớp Shape − Trong lớp Square override phương thức Area() lớp shape thực công việc tính diện tích hình vuông − Trong lớp Rectangle override phương thức Area() lớp shape thực công việc tính diện tích hình chữ nhật Kế thừa đa hình  Lớp Circle override phương thức Area() lớp shape thực công việc tính diện tích hình tròn  Bây khởi tạo đối tượng lớp Square objSquare = new Square(); Rectangle objRectangle = new Rectangle(); Circle objCircle = new Circle(); Shape objShape; objShapre = objSquare(); objShape.Area(); objShapre = objRectangle(); objShape.Area(); objShapre = objRectangle(); objShape.Area(); Kế thừa đa hình  Kết luận: • Đa hình khả biến tham chiếu thay hành vi tùy theo đối tượng mà tham chiếu đến • Cho phép nhiều đối tượng subclass coi đối tượng super class tự động lựa chọn phương thức dựa đối tượng mà phương thức triệu gọi • Ưu điểm: − Dễ mở rộng − Đơn giản hóa code(dễ viết dễ hiểu) Kế thừa đa hình • Đa hình thể dạng: − Method overriding  Phương thức subclass nghi đè phương thức lớp sở − Viết chồng (Method overriding) phương thức trừu tượng:  Phương thức subclass cài đặt phương thức trừu tượng lớp trừu tượng − Viết chồng (Method overriding) phương thức interface  Các phương thức lớp cài đặt phương thức interface − Ví dụ DEMO tính đa hình Kế thừa đa hình  Tổng kết • Khái niệm kế thừa cách cài đặt • Từ khóa protected • Từ khóa base • Từ khóa new • Từ khóa sealed • Method overriding • Đa hình [...]... Rectangle c ng override phương th c Area() c a lớp shape và nó th c hiện c ng vi c tính diện tích c a hình chữ nhật Kế thừa và đa hình  Lớp Circle override phương th c Area() c a lớp shape và th c hiện c ng vi c tính diện tích c a hình tròn  Bây giờ khởi tạo đối tượng c a 3 lớp Square objSquare = new Square(); Rectangle objRectangle = new Rectangle(); Circle objCircle = new Circle(); Shape objShape; objShapre... giản hóa code(dễ viết và dễ hiểu) Kế thừa và đa hình • Đa hình thể hiện ở 3 dạng: − Method overriding  Phương th c của subclass nghi đè phương th c của lớp c sở − Viết chồng (Method overriding) phương th c trừu tượng:  Phương th c của subclass c i đặt phương th c trừu tượng c a lớp trừu tượng − Viết chồng (Method overriding) c c phương th c của interface  C c phương th c của một lớp c i đặt c c phương... objShapre = objRectangle(); objShape.Area(); objShapre = objRectangle(); objShape.Area(); Kế thừa và đa hình  Kết luận: • Đa hình là khả năng một biến tham chiếu thay hành vi tùy theo đối tượng mà nó đang tham chiếu đến • Cho phép nhiều đối tượng c a c c subclass đư c coi như là c c đối tượng c a super class và tự động lựa chọn đúng phương th c dựa trên đối tượng mà phương th c đó đư c triệu gọi • Ưu... hình dạng kh c nhau • Trong lập trình hướng đối tượng: thế nào là đa hình? − Ví dụ chúng ta c một lớp shape(hình vẽ), trong lớp shape c phương th c Area() Sau đó c c lớp Square(hình vuông), Rectangle(hình CN), Circle(đường tròn) kế thừa từ lớp Shape − Trong lớp Square override phương th c Area() trong lớp shape và nó th c hiện c ng vi c tính diện tích c a hình vuông − Trong lớp Rectangle c ng override...Kế thừa và đa hình  Overriding method • C pháp khai báo [access modifier] virtual [return-type] name( [parameters-list] ) { //virtual method implementation } [access modifier] override [return-type] name( [parameters-list] ) { //virtual method implementation } • Ví dụ DEMO method overriding Kế thừa và đa hình  Polymorphism(đa hình) • Nói ở ngữ c nh chung chung, đa hình là khả năng... tượng c a lớp trừu tượng − Viết chồng (Method overriding) c c phương th c của interface  C c phương th c của một lớp c i đặt c c phương th c trong một interface − Ví dụ DEMO tính đa hình Kế thừa và đa hình  Tổng kết • Khái niệm kế thừa và c ch c i đặt • Từ khóa protected • Từ khóa base • Từ khóa new • Từ khóa sealed • Method overriding • Đa hình ... lại c • Lớp đối tượng • Constructor Destructor • Garbage Collector • Con trỏ this • Phương th c( Method) • Chồng phương th c( Method Overloading) • Chông toán tử(Operator Overloading) • Access... override phương th c Area() lớp shape th c công vi c tính diện tích hình chữ nhật Kế thừa đa hình  Lớp Circle override phương th c Area() lớp shape th c công vi c tính diện tích hình tròn  Bây... overriding) phương th c interface  C c phương th c lớp c i đặt phương th c interface − Ví dụ DEMO tính đa hình Kế thừa đa hình  Tổng kết • Khái niệm kế thừa c ch c i đặt • Từ khóa protected • Từ khóa

Ngày đăng: 04/12/2015, 14:32

Mục lục

  • Kế thừa và đa hình

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan