Tải bản đầy đủ (.pdf) (10 trang)

Bài giảng Lập trình hướng đối tượng: Chương 6 - ĐH Ngoại ngữ - Tin học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (289.41 KB, 10 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Click to edit Master subtitle style


<b>ĐA HÌNH</b>



Khoa Công nghệ thông tin


Trường Đại học Ngoại ngữ - Tin học, TP.HCM


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Khái niệm

<b>Đa hình</b>



Các bước xây dựng chương trình có tính đa



hình



Từ khóa ‘

<b>base</b>



Phương thức trừu tượng (abstract method)


Từ khóa ‘

<b>new</b>

’ với phương thức



<b>NỘI DUNG</b>



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Đóng gói </b>

(

Encapsulation

) và Giao diện



(

Interface

)



– <b>Ẩn chi tiết </b>của lớp (Đóng gói), chỉ cung cấp


các phương thức cần thiết để dùng (Giao diện)


<b>Thừa kế </b>

(

Inheritance

)




– Tạo lớp mới thừa kế lớp đã có


<b>Đa hình </b>

(

Polymorphism

)



– Khả năng tạo ra các lớp dẫn xuất, cài đặt cùng
một method của lớp cơ sở theo những cách


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Khái niệm

đa hình



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Đa hình </b>

(

<b>poly</b>

<b>morphism</b>

)



– poly = many


– morphism = forms


Khái niệm

Đa hình



Đa hình là hiện tượng các đối tượng thuộc các



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

Khái niệm

Đa hình


LandRove
r
object
Ford
object
Honda
object
Move


<b>LandRover</b> dùng 2.0 L


<b>engine để move</b>


<b>Ford</b> dùng V engine để
move


<b>Honda</b> dùng i-vtec để
move


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Khái niệm

Đa hình



<b>Đa hình phương thức</b>

: Cùng một phương



thức có thể được thực hiện khác nhau trên các


loại đối tượng khác nhau



<i><b>Cùng nguyên mẫu phương thức</b></i>

<i> cho </i>



<i>các lớp khác nhau: overriding phương thức</i>



<b>Đa hình đối tượng</b>

: nhìn nhận đối tượng theo



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>Phân biệt Overloading vs Overriding?</b>



Overloading (nạp chồng) phương thức: giữ



tên và giá trị trả về,

chỉ thay đổi đối số



Overriding (ghi đè) phương thức: giữ



nguyên tên, giá trị trả về và đối số (

không



thay đổi nguyên mẫu phương thức

)



Khái niệm

Đa hình



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>Đa hình phương thức</b>



– Các <b>lớp dẫn xuất</b> cài đặt <b>cùng một phương </b>


<b>thức của lớp cơ sở</b>, nhưng mỗi lớp dẫn xuất


có cách <b>cài đặt khác nhau</b>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

Nhờ đặc tính của

<b>thừa kế </b>

giúp:



– Tạo lớp mới dựa trên lớp đã có (lớp cơ sở),


<b>thừa hưởng </b>những gì lớp cơ sở có


– <b>Thêm </b>một số Field và Method mới vào lớp mới


– <b>Cài đặt lại </b>phương thức đã được lớp cơ sở


cung cấp


Khái niệm

Đa hình



</div>

<!--links-->

×