1. Trang chủ
  2. » Thể loại khác

CHƯƠNG 5: style THỪA KẾ Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM

59 0 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 534,13 KB

Nội dung

Click to edit Master subtitle CHƯƠNG 5: style THỪA KẾ Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM NỘI DUNG Vấn đề tái sử dụng code & hình thức Lý thừa kế Lớp sở Lớp dẫn xuất Sử dụng lớp sở Constructor thừa kế Access modifier: protected Lớp sở lớp: Lớp object Lớp sealed lớp partial Vấn đề tái sử dụng code Xuất phát từ nhu cầu: Sử dụng lại đoạn code có sẵn Hoặc phát triển thêm từ code có sẵn mà viết lại từ đầu  Ưu điểm: Giảm chi phí Nâng cao khả bảo trì khả mơ hình hóa Vấn đề tái sử dụng code Lập trình cấu trúc: chương trình OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự  tái sử dụng lớp viết Trong lớp tái sử dụng phương thức Các hình thức tái sử dụng code Có hình thức: Sao chép lớp cũ thành lớp khác  Hạn chế: Dư thừa, khó quản lý có thay đổi Kết tập (Aggregation): Lớp tập hợp sử dụng (khơng thay đổi) lớp có Thừa kế (Inheritance): Lớp phát triển thêm thuộc tính phương thức từ lớp có KẾT TẬP (AGGREGATION) Kết tập (Aggregation) Thành phần lớp chứa đối tượng lớp cũ Lớp mới: Lớp chứa/Lớp tồn thể Sử dụng thuộc tính phương thức lớp thành phần thông qua đối tượng Lớp cũ: Lớp thành phần Ví dụ: Lớp cũ: Điểm (Point) Lớp mới: Tam giác (Triangle) có điểm Ký hiệu quan hệ kết tập Số lượng lớp thành phần lớp chứa có thể: số nguyên dương (1, 2, 3, ) Dải số (0 1, n) Bất kỳ giá trị nào: * Không ghi: mặc định Ví dụ quan hệ kết tập public class Point { private int x; private int y; //Định nghĩa phương thức } public class Triangle { Point dinhA; //Đỉnh A Point dinhB; //Đỉnh B Point dinhC; //Đỉnh C //Định nghĩa phương thức } Bài tập lớp Cài đặt lớp Point lớp Triangle có chức năng: Nhập Xuất Tính chu vi Tính diện tích (Mỗi lớp phải có: Property get, set; constructor; kiểm tra ràng buộc có) Cài đặt lớp ListTriangle chứa danh sách Triangle có chức năng: nhập, xuất cho biết thơng tin tam giác có diện tích lớn 10 Constructor thừa kế Lớp dẫn xuất thừa kế Fields Methods, Properties, Indexers, Events Lớp dẫn xuất không thừa kế constructor Không thể dùng constructor lớp sở để tạo lớp dẫn xuất Chúng ta phải tự tạo constructor lớp dẫn xuất 45 Constructor thừa kế Khi lớp dẫn xuất định nghĩa constructor, cần gọi constructor lớp sở Mặc định, constructor lớp dẫn xuất gọi constructor không tham số lớp sở 46 Constructor thừa kế Tình huống: Nếu lớp sở Khơng có constructor khơng tham số Constructor lớp dẫn xuất muốn gọi constructor khác (không phải constructor không tham số) Giải pháp: Dùng từ khóa “base” 47 Constructor thừa kế class Person { // … public Person() { Email = ""; Name = ""; } public Person(string name) { Name = name; } // … } class Student : Person { // … public Student(string studentID) : base(“No name”) { StudentID = studentID } // … } 48 ACCESS MODIFIER: PROTECTED 49 Thành viên protected Đã học, thành viên lớp: private public Khi thừa kế, có thêm protected • Trong lớp dùng • Lớp dẫn xuất dùng 50 LỚP OBJECT 51 Lớp object Bất kỳ lớp tạo dẫn xuất từ lớp đặc biệt: lớp object Lớp object: Lớp sở lớp (trực tiếp hay gián tiếp) Có thể dùng lớp object để lưu lớp dẫn xuất object student = new Student(“15TH123456”); 52 Phương thức ToString() Trả chuỗi biểu diễn (mô tả) đối tượng class Student { … public override string ToString() { return Name; } } class Point { double x, y; … public override ToString() { return “(” + x + “,” + y + “)”; } } 53 LỚP SEALED VÀ LỚP PARTIAL 54 Lớp sealed Có lúc cần ngăn cản lớp cho thừa kế Dùng từ khóa sealed sealed class Student: Person { } sealed class Something { } 55 Lớp partial Đôi lúc lớp trở nên lớn Chia lớp thành lớp nhỏ Chia lớp thành nhiều file hay nhiều section (dùng từ khóa partial) public partial class Something { public void DoSomething { } } public partial class Something { public void DoSomethingElse { } } 56 Bài tập Thiết kế lớp cần thiết (áp dụng kỹ thuật kế thừa) để quản lý thông tin giảng viên sinh viên Đối với sinh viên gồm thông tin hành vi: Họ tên Tuổi Tên trường học Số tín tích luỹ Cập nhật số tín Hiển thị thông tin 57 Bài tập … Đối với giảng viên gồm thông tin hành vi: Họ tên Tuổi Tên trường công tác Học vị Hệ số lương Mức lương Hiển thị thông tin 58 ĐIỂM CHÍNH Thừa kế cách tái sử dụng code cách mở rộng lớp sở thành lớp cụ thể (lớp dẫn xuất) Bất kỳ lớp làm lớp sở (trừ lớp sealed) Lớp dẫn xuất thừa kế thành viên lớp sở (trừ private) Fields Methods, Properties, … Thừa kế: class Something : Another {…} protected access modifier: nơi lớp truy cập lớp dẫn xuất truy cập 59

Ngày đăng: 24/06/2023, 16:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w