NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 7

27 26 0
NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 7

Đ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

Phương pháp chỉ ra kiểu của các Đối tượng” mà một Lớp có thể “chấp nhận”Hạn chế việc ép kiểu các đối tượng.Phát hiện sớm các kiểu dữ liệu không phù hợp

Generics && VC VC BB BB Vấn đề && VC VC BB BB Giải pháp Output && VC VC BB BB Mục đích Generic  Phương pháp kiểu “Đối tượng” mà Lớp “chấp nhận”  Hạn chế việc ép kiểu đối tượng  Phát sớm kiểu liệu không phù hợp thời điểm biên dịch chương trình && VC VC BB BB Ví dụ required explicit cast Type of element No required explicit cast && VC VC BB BB Ưu điểm hạn chế Generics  Ưu điểm  Hổ trợ đặc điểm đa hình OOP  Kiểm tra xác kiểu liệu thời điểm biên dịch  Hạn chế việc ép kiểu  Giới hạn  Không thể tạo hàm dựng mức Generic T element = new T(); && Generic mức Lớp VC VC BB BB  Lớp Generic chế để rỏ mối quan hệ Lớp kiểu liệu liên quan đến (type parameter)  “Các Tham số kiểu” xác định thời điểm đối tượng Lớp tạo  Quy ước tên Tham số kiểu(Type Parameter Naming Conventions)  Viết hoa, dùng chữ • • • • • E – Element K – Key N – Number T – Type V – Value && VC VC BB BB Tạo Lớp generic && VC VC BB BB Phương thức Generic  Phù hợp với phương thức nạp chồng (Overloading) Output && VC VC BB BB Tạo phương thức Generic  Cú pháp:  Các “tham số kiểu” khai báo phạm vi phương thức  Tham số kiểu phải rõ trước kiểu liệu trả phương thức đặt cặp dấu  Có thể dùng tham số kiểu cho:  Các tham số phương thức  Dữ liệu trả  Biến cục && VC VC BB BB Example of Wildcards  “?”  “? extends type”  “? super type” && VC VC BB BB Generics việc xử lý biệt lệ  Tham số kiểu dùng việc đưa (throw) biệt lệ && VC VC BB BB Thừa kế Generics  Một Lớp thừa kế từ Lớp Generic, rõ kiểu Generic, không lớp phải khai báo lớp Generic  Một “Lớp” thực trường hợp cụ thể “Giao tiếp generic” (Generic Interface) && VC VC BB BB Ví dụ && VC VC BB BB Interoperability with Generics  Describe how to use Legacy code in Generics  Describe how to use Generics in Legacy code && VC VC BB BB && VC VC BB BB Legacy Code  Non-generic legacy code  Normal generic type  Collection list = new ArrayList();  Raw type:  Generic type like Collection is used without a type parameter  e.g Collection col = new ArrayList(); && VC VC BB BB Using Legacy Code in Generic Code  Working but dangerous  All the type safety guarantees are void  When compile, Java generates an unchecked conversion warning && VC VC BB BB Example of Using Legacy Code in Generic Code && VC VC BB BB Compile && VC VC BB BB Erasure  Generics are implemented as a front end conversion called erasure  Erasure removes all generic type information  All the type information between angle brackets is thrown out  i.e a parameterized type like List is converted into List && VC VC BB BB Example of Erasure for illustration purposes only && VC VC BB BB Using Generics Code in Legacy Code  Adding type parameter to class or interface declarations  Adding type parameters to the class or interface which has been extended or implemented  Adding type parameters to the method signatures  Adding cast where the return type contains a type parameter && VC VC BB BB Example of Using Generics Code in Legacy Code && VC VC BB BB That’s about all for today!  Introduction to Generics  Generic class  Generic methods  More on Generics  Wildcards with generics  Exception handling with generics  Inheritance with generics  Interoperability with Generics  Legacy code in Generics  Use Generics in Legacy code Thank you all for your attention and patient ! ... đích Generic  Phương pháp kiểu ? ?Đối tượng? ?? mà Lớp “chấp nhận”  Hạn chế việc ép kiểu đối tượng  Phát sớm kiểu liệu khơng phù hợp thời điểm biên dịch chương trình && VC VC BB BB Ví dụ required... quan hệ Lớp kiểu liệu liên quan đến (type parameter)  “Các Tham số kiểu” xác định thời điểm đối tượng Lớp tạo  Quy ước tên Tham số kiểu(Type Parameter Naming Conventions)  Viết hoa, dùng chữ... Generics  Describe how to use Generics in Legacy code && VC VC BB BB && VC VC BB BB Legacy Code  Non-generic legacy code  Normal generic type  Collection list = new ArrayList();  Raw

Ngày đăng: 11/05/2021, 03:49

Mục lục

  • Generics

  • Vấn đề

  • Giải pháp

  • Mục đích của Generic

  • Ví dụ

  • Ưu điểm và hạn chế của Generics

  • Generic ở mức Lớp

  • Tạo Lớp generic

  • Phương thức Generic

  • Tạo phương thức Generic

  • Ví dụ

  • Sử dụng Wildcards trong Generic

  • Example of Wildcards

  • Generics và việc xử lý các biệt lệ

  • Thừa kế và Generics

  • Slide 16

  • Interoperability with Generics

  • Slide 18

  • Legacy Code

  • Using Legacy Code in Generic Code

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

Tài liệu liên quan