ݺߣ

ݺߣShare a Scribd company logo
LTUDQL 2




Kế thừa – Đa xạ - Tương ứng bội



                     Bùi Tấn Lộc
                btloc@fit.hcmus.edu.vn




                         .           -1-   ©HCMUS
LTUDQL 2

0.Câu hỏi: Sử dụng kế thừa, đa xạ, tương ứng bội trong VB.NET?



    1. Thừa kế ?
    2. Hàm ảo ?
    3. Cài đặt hàm ảo ?
    4. Áp dụng đa xạ, tương ứng bội ?




                                    .             -2-            ©HCMUS
LTUDQL 2

1. Thừa kế- Inherits


    Public Class B
        Inherits A
    End Class

    Public Class MachDon
        Inherits MachDien
    End Class




                            .   -3-   ©HCMUS
LTUDQL 2
1bis.Sử dụng lại hàm tạo của lớp cha - Kế thừa lại hàm tạo của
lớp cha

    Public Class B
        Inherits A
        Private _r As Double
        Public Sub New()
            MyBase.New()
        End Sub
        Public Sub New(ByVal m As Double, ByVal n As Double)
            MyBase.New(m)
            _r = (m+n)/2
        End Sub
    End Class




                                .             -4-         ©HCMUS
LTUDQL 2

2.Phương thức ảo - Overridable


    Public Class MachDien
        Public Overridable Function TongTro() As Double
            Dim kq As Double
            kq = 0
            Return kq
        End Function
    End Class




                                 .       -5-         ©HCMUS
LTUDQL 2

3.Cài đặt phương thức ảo ở lớp con – Overrides


    Public Class MachDon
        Inherits MachDien
        Private _r As Double
    Public Overrides Function TongTro() As Double
            Return _r
        End Function
    End Class




                              .            -6-      ©HCMUS
LTUDQL 2

4.Áp dụng đa xạ, tương ứng bội

    ‘………………………………
    Dim m1 As MachDien
    Dim m23 As MachDien
    Dim m45 As MachDien
    Dim m6 As MachDien

    m1 = New MachDon(1)
    m23 = New MachSongSong(2, 3)
    m45 = New MachNoiTiep(4, 5)
    m6 = New MachDon(6)

    tongTro1 = m23.TongTro()
    tongTro2 = m45.TongTro()




                                   .   -7-   ©HCMUS
LTUDQL 2

5.Tóm tắt


   • Thừa kế – Inherits
   • Hàm ảo – Overridable
   • Cài đặt hàm ảo – Overrides
   • Áp dụng đa xạ, tương ứng bội – dùng kiểu lớp trừu tượng
      nhưng tham chiếu đến vùng nhớ cụ thể.




                             .            -8-        ©HCMUS
LTUDQL 2

6.Ví dụ


    • Tính tổng trở của mạch điện. Trong đó:
          • Mạch điện có thể có nhiều mạch đơn hoặc mạch phức
          • Mạch đơn là mạch chỉ có một điện trở
          • Mạch phức là mạch chứa bện trong nó nhiều mạch thành phần
          • Mỗi mạch thành phần có thể là mạch đơn hoặc mạch phức
          • Mạch phức có thể được mắc song song hoặc nối tiếp




                                      .              -9-           ©HCMUS
LTUDQL 2

6.Ví dụ (tt)

                                                                Nhap()
                               MachDien
                                                                Xuat()
                                                                TongTro()
  _r                                                                        _dsMachDien
               MachDon                         MachPhuc

                                                                             _dsMachDien

                                  MachSongSong            MachNoiTiep


       •   Các thuộc tính private được vẽ màu xanh bên trái
       •   Các thuộc tính protected được vẽ màu xanh bên phải
       •   Các phương thức public được vẽ màu đỏ bên phải
       •   Các thuộc tính, phương thức được kế thừa, không cài đặt lại thì được vẽ với
           né đứt (có thể hiểu ngầm không vẽ ra)


                                          .                - 10 -            ©HCMUS
LTUDQL 2

6.Ví dụ (tt)


    • Xem source code




                        .   - 11 -   ©HCMUS
LTUDQL 2

7.Áp dụng 1


   • Tính tiền chi tiết máy. Trong đó
       • 1 cái máy có nhiều chi tiết. Mỗi chi tiết máy là chi tiết đơn hoặc chi tiết
           phức.
       •   Chi tiết đơn là chi tiết không chứa bên trong nó chi tiết khác. Thông tin
           của chi tiết đơn bao gồm MSCT, giá tiền
       •   Chi tiết phức là chi tiết chứa bên trong nó nhiều chi tiết thành phần. Mỗi
           chi tiết thành phần là chi tiết đơn hoặc chi tiết phức.
       •   Thông tin của chi tiết phức bao gồm MSCT, danh sách chi tiết thành
           phần.
       •   Giá tiền của chi tiết phức là tổng giá tiền của các chi tiết thành phần




                                       .                - 12 -          ©HCMUS
LTUDQL 2

8.Áp dụng 2


   • Công ty ABC có nhiều nhân viên làm việc trong các bộ phận
     khác nhau: quản lý, sản xuất, văn phòng.
   • Lương nhân viên văn phòng:
       • lương cơ bản + số ngày làm việc * 100k + trợ cấp
   • Lương nhân viên sản xuất:
       • lương cơ bản + số sản phẩm*2000
   • Lương nhân viên quản lý:
       • Lương cơ bản + hệ số công việc + thưởng
   • Ngoài ra công ty còn có các thông tin về nhân viên: họ tên, và
     các thông số trên để tính lương cho nhân viên trong công ty.
   • Viết chương trình phục vụ cho việc tính lương

                                    .               - 13 -   ©HCMUS
LTUDQL 2

9.Câu hỏi – Shadows?

   Public Class A
       Public Function Add(ByVal x As Integer, ByVal y As Integer) As Integer
           Return x + y
       End Function
       Public Function Add(ByVal x As Integer, ByVal y As Integer, ByVal z As
   Integer) As Integer
           Return x + y + z
       End Function
   End Class
   Public Class B
       Inherits A
       Public Shadows Function Add(ByVal x As Integer, ByVal y As Integer) As
   Integer
           Return x - y
       End Function
   End Class



                                   .              - 14 -        ©HCMUS

More Related Content

Viewers also liked (20)

PDF
Unmanned Aircraft Systems
JosephCox
PDF
Naomi Adir's 92nd Birthday Party
Judah S. Harris Photography + Film
PDF
Isaiah 22 commentary
GLENN PEASE
PPTX
Viviendo con diabetes. tania apango
Clinicas de Diabetes en Guerrero
PPS
Www.devocionalescristianos.org demos paz
Maria Amparo Valdera Sosa
PPTX
LDD Southern Summit 2013 - Adido - Creating perfect marriage between offline...
Adido
PDF
Tendencias 009
IPAE
PDF
Rails goes SOA
Dirk Breuer
KEY
Data Binding in qooxdoo
Martin Wittemann
PDF
Pasarela 2014 lista
SEMANARIOCAUDILLO
PDF
Каталог СпецЭнерго
Лёха Ут
PDF
Vanchit janta january 2015
jagdish lal
PPT
Security
majstors
PDF
Kona LHi
AV ProfShop
PDF
Vidhi mehta
Vidhi Mehta
PPTX
Tchaikovsky
mlm72
PDF
Instrução técnica pm
Fabio Santos
Unmanned Aircraft Systems
JosephCox
Naomi Adir's 92nd Birthday Party
Judah S. Harris Photography + Film
Isaiah 22 commentary
GLENN PEASE
Viviendo con diabetes. tania apango
Clinicas de Diabetes en Guerrero
Www.devocionalescristianos.org demos paz
Maria Amparo Valdera Sosa
LDD Southern Summit 2013 - Adido - Creating perfect marriage between offline...
Adido
Tendencias 009
IPAE
Rails goes SOA
Dirk Breuer
Data Binding in qooxdoo
Martin Wittemann
Pasarela 2014 lista
SEMANARIOCAUDILLO
Каталог СпецЭнерго
Лёха Ут
Vanchit janta january 2015
jagdish lal
Security
majstors
Kona LHi
AV ProfShop
Vidhi mehta
Vidhi Mehta
Tchaikovsky
mlm72
Instrução técnica pm
Fabio Santos

More from Dũng Đinh (17)

PPTX
Linq2 sql
Dũng Đinh
PDF
Hdth08 ltudql02-linq
Dũng Đinh
PDF
Hdth07 ltudql02-linq-ep1
Dũng Đinh
PDF
Hdth06 ltudql02-multi languages
Dũng Đinh
PDF
Hdth04 ltudql02-dotnet bar
Dũng Đinh
PDF
Hdth03 ltudql02-user control
Dũng Đinh
PDF
Hdth02 ltudql02--tuan02 tt-
Dũng Đinh
PDF
Hdth02 ltudql02-su dungsubversion-2
Dũng Đinh
PDF
Hdth02 ltudql02-su dungsubversion-1
Dũng Đinh
PDF
Hdth01 ltudql2-lap tinhduongdoituong-vb
Dũng Đinh
PDF
Hdth09 ltudql02-linq-e3
Dũng Đinh
PPTX
Thiet kegiaodien
Dũng Đinh
PPTX
07bis.thiet kedulieu
Dũng Đinh
PDF
06.mo hinhhoayeucau
Dũng Đinh
PDF
05.thu thapyeucau
Dũng Đinh
PPTX
04.mo daucnpm
Dũng Đinh
PPTX
02.thiet kelop
Dũng Đinh
Linq2 sql
Dũng Đinh
Hdth08 ltudql02-linq
Dũng Đinh
Hdth07 ltudql02-linq-ep1
Dũng Đinh
Hdth06 ltudql02-multi languages
Dũng Đinh
Hdth04 ltudql02-dotnet bar
Dũng Đinh
Hdth03 ltudql02-user control
Dũng Đinh
Hdth02 ltudql02--tuan02 tt-
Dũng Đinh
Hdth02 ltudql02-su dungsubversion-2
Dũng Đinh
Hdth02 ltudql02-su dungsubversion-1
Dũng Đinh
Hdth01 ltudql2-lap tinhduongdoituong-vb
Dũng Đinh
Hdth09 ltudql02-linq-e3
Dũng Đinh
Thiet kegiaodien
Dũng Đinh
07bis.thiet kedulieu
Dũng Đinh
06.mo hinhhoayeucau
Dũng Đinh
05.thu thapyeucau
Dũng Đinh
04.mo daucnpm
Dũng Đinh
02.thiet kelop
Dũng Đinh
Ad

Recently uploaded (20)

PPTX
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
phuocnguyenminh22
DOC
_data_hcmedu_thcsnguyenvantroiq2_attachments_2020_4_chu_de_khi_hau_viet_nam_2...
TraMyNguyen64
PPTX
Past_Simple_Tense_Lesson.pptxsdjkdhsdkhkhd
itsa1off1
PDF
20 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 6 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
PPTX
Giải phẫu mạch máu chi trên module TM.pptx
NguynQuang206951
PDF
SÁNG KIẾN BIỆN PHÁP DẠY HỌC CHỦ ĐỀ HỢP CHẤT CARBONYL (ALDEHYDE - KETONE - CAR...
Nguyen Thanh Tu Collection
PDF
KTCP123445223243eewreewrwerwerwerwewerwerwer
BngBinh2
PPTX
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
24161298
PDF
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
PDF
Quá trình thông khí phổi Bộ môn sinh lý.
VnLPhi1
PPTX
Project - Ham - Chuong trinh con trong C++.pptx
myfamily25052008
PPTX
Bải giảng Giải phẫu hệ hô hấp đh y dược huế.pptx
NguynQuang206951
DOCX
Sach Song Ngu Anh Viet phim Nghe Sieu De
Sach Song Ngu
PDF
Trường Anh ngữ ICL - Cebu Brochure 2025.pdf
Du học MICE - Du học tiếng Anh
PPTX
1305hkkBuild confidence using English in daily, professional, and family life...
NgcMy10
PDF
Giáo Dục Minh Triết: Chuẩn bị Tâm thế - Tâm thức bước vào kỷ nguyên mới
Chu Văn Đức
PDF
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
tranchauanh22006
PDF
GIÁO ÁN GIÁO DỤC QUỐC PHÒNG VÀ AN NINH LỚP 11 KẾT NỐI TRI THỨC - CẢ NĂM THEO ...
Nguyen Thanh Tu Collection
PDF
CÔNG NGHỆ SẢN XUẤT DƯỢC PHẨM BÀI CÔNG NGHỆ BÀO CHẾ VIÊN NÉN ĐẠI HỌC TÂY ĐÔ.pdf
Nguyen Thanh Tu Collection
PDF
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
Nguyen Thanh Tu Collection
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
phuocnguyenminh22
_data_hcmedu_thcsnguyenvantroiq2_attachments_2020_4_chu_de_khi_hau_viet_nam_2...
TraMyNguyen64
Past_Simple_Tense_Lesson.pptxsdjkdhsdkhkhd
itsa1off1
20 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 6 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
Giải phẫu mạch máu chi trên module TM.pptx
NguynQuang206951
SÁNG KIẾN BIỆN PHÁP DẠY HỌC CHỦ ĐỀ HỢP CHẤT CARBONYL (ALDEHYDE - KETONE - CAR...
Nguyen Thanh Tu Collection
KTCP123445223243eewreewrwerwerwerwewerwerwer
BngBinh2
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
24161298
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
Quá trình thông khí phổi Bộ môn sinh lý.
VnLPhi1
Project - Ham - Chuong trinh con trong C++.pptx
myfamily25052008
Bải giảng Giải phẫu hệ hô hấp đh y dược huế.pptx
NguynQuang206951
Sach Song Ngu Anh Viet phim Nghe Sieu De
Sach Song Ngu
Trường Anh ngữ ICL - Cebu Brochure 2025.pdf
Du học MICE - Du học tiếng Anh
1305hkkBuild confidence using English in daily, professional, and family life...
NgcMy10
Giáo Dục Minh Triết: Chuẩn bị Tâm thế - Tâm thức bước vào kỷ nguyên mới
Chu Văn Đức
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
tranchauanh22006
GIÁO ÁN GIÁO DỤC QUỐC PHÒNG VÀ AN NINH LỚP 11 KẾT NỐI TRI THỨC - CẢ NĂM THEO ...
Nguyen Thanh Tu Collection
CÔNG NGHỆ SẢN XUẤT DƯỢC PHẨM BÀI CÔNG NGHỆ BÀO CHẾ VIÊN NÉN ĐẠI HỌC TÂY ĐÔ.pdf
Nguyen Thanh Tu Collection
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
Nguyen Thanh Tu Collection
Ad

03.ke thua daxa

  • 1. LTUDQL 2 Kế thừa – Đa xạ - Tương ứng bội Bùi Tấn Lộc btloc@fit.hcmus.edu.vn . -1- ©HCMUS
  • 2. LTUDQL 2 0.Câu hỏi: Sử dụng kế thừa, đa xạ, tương ứng bội trong VB.NET? 1. Thừa kế ? 2. Hàm ảo ? 3. Cài đặt hàm ảo ? 4. Áp dụng đa xạ, tương ứng bội ? . -2- ©HCMUS
  • 3. LTUDQL 2 1. Thừa kế- Inherits Public Class B Inherits A End Class Public Class MachDon Inherits MachDien End Class . -3- ©HCMUS
  • 4. LTUDQL 2 1bis.Sử dụng lại hàm tạo của lớp cha - Kế thừa lại hàm tạo của lớp cha Public Class B Inherits A Private _r As Double Public Sub New() MyBase.New() End Sub Public Sub New(ByVal m As Double, ByVal n As Double) MyBase.New(m) _r = (m+n)/2 End Sub End Class . -4- ©HCMUS
  • 5. LTUDQL 2 2.Phương thức ảo - Overridable Public Class MachDien Public Overridable Function TongTro() As Double Dim kq As Double kq = 0 Return kq End Function End Class . -5- ©HCMUS
  • 6. LTUDQL 2 3.Cài đặt phương thức ảo ở lớp con – Overrides Public Class MachDon Inherits MachDien Private _r As Double Public Overrides Function TongTro() As Double Return _r End Function End Class . -6- ©HCMUS
  • 7. LTUDQL 2 4.Áp dụng đa xạ, tương ứng bội ‘……………………………… Dim m1 As MachDien Dim m23 As MachDien Dim m45 As MachDien Dim m6 As MachDien m1 = New MachDon(1) m23 = New MachSongSong(2, 3) m45 = New MachNoiTiep(4, 5) m6 = New MachDon(6) tongTro1 = m23.TongTro() tongTro2 = m45.TongTro() . -7- ©HCMUS
  • 8. LTUDQL 2 5.Tóm tắt • Thừa kế – Inherits • Hàm ảo – Overridable • Cài đặt hàm ảo – Overrides • Áp dụng đa xạ, tương ứng bội – dùng kiểu lớp trừu tượng nhưng tham chiếu đến vùng nhớ cụ thể. . -8- ©HCMUS
  • 9. LTUDQL 2 6.Ví dụ • Tính tổng trở của mạch điện. Trong đó: • Mạch điện có thể có nhiều mạch đơn hoặc mạch phức • Mạch đơn là mạch chỉ có một điện trở • Mạch phức là mạch chứa bện trong nó nhiều mạch thành phần • Mỗi mạch thành phần có thể là mạch đơn hoặc mạch phức • Mạch phức có thể được mắc song song hoặc nối tiếp . -9- ©HCMUS
  • 10. LTUDQL 2 6.Ví dụ (tt) Nhap() MachDien Xuat() TongTro() _r _dsMachDien MachDon MachPhuc _dsMachDien MachSongSong MachNoiTiep • Các thuộc tính private được vẽ màu xanh bên trái • Các thuộc tính protected được vẽ màu xanh bên phải • Các phương thức public được vẽ màu đỏ bên phải • Các thuộc tính, phương thức được kế thừa, không cài đặt lại thì được vẽ với né đứt (có thể hiểu ngầm không vẽ ra) . - 10 - ©HCMUS
  • 11. LTUDQL 2 6.Ví dụ (tt) • Xem source code . - 11 - ©HCMUS
  • 12. LTUDQL 2 7.Áp dụng 1 • Tính tiền chi tiết máy. Trong đó • 1 cái máy có nhiều chi tiết. Mỗi chi tiết máy là chi tiết đơn hoặc chi tiết phức. • Chi tiết đơn là chi tiết không chứa bên trong nó chi tiết khác. Thông tin của chi tiết đơn bao gồm MSCT, giá tiền • Chi tiết phức là chi tiết chứa bên trong nó nhiều chi tiết thành phần. Mỗi chi tiết thành phần là chi tiết đơn hoặc chi tiết phức. • Thông tin của chi tiết phức bao gồm MSCT, danh sách chi tiết thành phần. • Giá tiền của chi tiết phức là tổng giá tiền của các chi tiết thành phần . - 12 - ©HCMUS
  • 13. LTUDQL 2 8.Áp dụng 2 • Công ty ABC có nhiều nhân viên làm việc trong các bộ phận khác nhau: quản lý, sản xuất, văn phòng. • Lương nhân viên văn phòng: • lương cơ bản + số ngày làm việc * 100k + trợ cấp • Lương nhân viên sản xuất: • lương cơ bản + số sản phẩm*2000 • Lương nhân viên quản lý: • Lương cơ bản + hệ số công việc + thưởng • Ngoài ra công ty còn có các thông tin về nhân viên: họ tên, và các thông số trên để tính lương cho nhân viên trong công ty. • Viết chương trình phục vụ cho việc tính lương . - 13 - ©HCMUS
  • 14. LTUDQL 2 9.Câu hỏi – Shadows? Public Class A Public Function Add(ByVal x As Integer, ByVal y As Integer) As Integer Return x + y End Function Public Function Add(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) As Integer Return x + y + z End Function End Class Public Class B Inherits A Public Shadows Function Add(ByVal x As Integer, ByVal y As Integer) As Integer Return x - y End Function End Class . - 14 - ©HCMUS