1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 3 - TS. Nguyễn Văn Hiệp

24 9 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

Nội dung bài giảng bao gồm: Tổng quát về phát biểu class của C#, định nghĩa thuộc tính vật lý, định nghĩa tác vụ chức năng, định nghĩa toán tử chức năng, định nghĩa thuộc tính giao tiếp (luận lý), định nghĩa ₫ối tượng ₫ại diện hàm,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chương Interface & Class C# 3.1 Tổng quát phát biểu class C# 3.2 Định nghĩa thuộc tính vật lý 3.3 Định nghĩa tác vụ chức 3.4 Định nghĩa toán tử chức 3.5 Định nghĩa thuộc tính giao tiếp (luận lý) 3.6 Định nghĩa ₫ối tượng ₫ại diện hàm (delegate) 3.7 Định nghĩa kiện (Event) 3.8 Định nghĩa phần tử quản lý danh sách (indexer) 3.9 Thành phần static thành phần không static 3.10 Lệnh ₫ịnh nghĩa class C# ₫iển hình 3.11 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.1 Tổng quát phát biểu class C# Ngôn ngữ C# (hay ngơn ngữ lập trình khác) cung cấp cho người lập trình nhiều phát biểu (statement) khác nhau, ₫ó phát biểu class ₫ể ₫ặc tả chi tiết thực loại ₫ối tượng cấu thành phần mềm phát biểu quan trọng Sau ₫ây template class C# : class MyClass : BaseClass, I1, I2, I3 { //₫ịnh nghĩa thuộc tính vật lý ₫ối tượng //₫ịnh nghĩa tác vụ chức năng, tốn tử //₫ịnh nghĩa thuộc tính giao tiếp (luận lý) //₫ịnh nghĩa ₫ại diện hàm chức (delegate) //₫ịnh nghĩa kiện (event) //₫ịnh nghĩa indexer class //₫ịnh nghĩa tác vụ quản lý ₫ời sống ₫ối tượng } Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.1 Tổng quát phát biểu class C#   Khi ₫ịnh nghĩa class mới, ta thừa kế tối ₫a class ₫ã có (₫ơn thừa kế), tên class có, phải nằm vị trí ₫ầu tiên sau dấu ngăn ":" Khi ₫ịnh nghĩa class, ta thực nhiều interface khác (₫a thực), danh sách có, phải nằm sau tên class cha Trong trường hợp nhiều interface có tác vụ (phân biệt chữ ký) class muốn thực chúng khác ta dùng tên dạng phân cấp : class MyClass : BaseClass, I1, I2, I3 { //hiện thực tác vụ chữ ký interface khác void I1.func1() {} void I2.func1() {} void I3.func1() {} Môn : Các mẫu thiết kế hướng đối tượng Khoa Khoa học & Kỹ thuật Máy tính Chương : Interface & Class C# ĐH Bách Khoa Tp.HCM }Trường Slide © 2010 3.2 Định nghĩa thuộc tính vật lý   Mỗi thuộc tính vật lý ₫ối tượng biến liệu cụ thể Phát biểu ₫ịnh nghĩa thuộc tính vật lý ₫ặc tả thơng tin sau thuộc tính tương ứng :  Tên nhận dạng  Kiểu liệu  Giá trị ban ₫ầu  Tầm vực truy xuất Cú pháp ₫ơn giản ₫ể ₫ịnh nghĩa thuộc tính vật lý sau : [scope | attribute]* type name [= value]; Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.2 Định nghĩa thuộc tính vật lý  thành phần scope miêu tả tầm vực truy xuất thuộc tính, chọn khả sau :  public : thuộc tính ₫ược truy xuất ₫âu  internal : thuộc tính ₫ược truy xuất ₫âu assembly chứa class  protected : thuộc tính ₫ược truy xuất class hành class con, cháu  protected internal : thuộc tính ₫ược truy xuất ₫âu assembly chứa class hay class con, cháu  private : thuộc tính ₫ược truy xuất nội class hành  thành phần scope không ₫ược miêu tả tường minh, thuộc tính có tầm vực private Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.2 Định nghĩa thuộc tính vật lý Hệ thống ₫ối tượng máy tính Assembly class C2 A1 public i1; internal i2; C1 protected i3; protected internal i4; private i5; C3 C4 A2 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.2 Định nghĩa thuộc tính vật lý      thành phần type thường tên kiểu liệu thuộc tính tương ứng, tên kiểu giá trị hay tên kiểu tham khảo thành phần name tên nhận dạng thuộc tính thành phần [= value] miêu tả biểu thức xác ₫ịnh trị ban ₫ầu thuộc tính thành phần nằm [] nhiệm ý (optional), có khơng Các thành phần khác bắt buộc phải có Thí dụ : private int dorong = 10; private int docao = 10; Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.3 Định nghĩa tác vụ chức   Mỗi tác vụ (operation) thực chức xác định, rõ ràng mà bên đối tượng (client) cần dùng Định nghĩa tác vụ gồm phần : định nghĩa interface sử dụng định nghĩa thuật giải chi tiết mà tác vụ thực (method) Lệnh định nghĩa tác vụ thường gồm phần sau : [scope | attribute] return_type name (arg_list) body  scope miêu tả tầm vực truy xuất tác vụ : public, protected, internal, protected internal, private  attribute miêu tả tính chất hoạt động tác vụ : static, virtual, sealed, override, abstract, extern  return_type tên kiểu giá trị mà tác vụ trả  name tên tác vụ, arg_list danh sách từ tới n tham số hình thức cách dấu ',', định nghĩa tham số hình thức gần giống định nghĩa thuộc tính vật lý Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.4 Định nghĩa toán tử chức   Mỗi toán tử (operator) thực phép toán xác định Toán tử trường hợp đặc biệt tác vụ Định nghĩa toán tử gồm phần : định nghĩa interface sử dụng định nghĩa thuật giải chi tiết mà toán tử thực (method) Lệnh định nghĩa toán tử thường gồm phần sau : [scope] return_type operator name (arg_list) body  scope miêu tả tầm vực truy xuất toán tử : public, static, extern  return_type tên kiểu giá trị mà toán tử trả  name tên toán tử : +,-,*,/,  arg_list danh sách từ tới tham số hình thức cách dấu ',', định nghĩa tham số hình thức gần giống định nghĩa thuộc tính vật lý Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 3.5 Định nghĩa thuộc tính giao tiếp (luận lý)   Mỗi thuộc tính giao tiếp (luận lý) chẳng qua hay tác vụ get/set (tham khảo/thiết lập) nội dung thuộc tính tương ứng Định nghĩa thuộc tính giao tiếp định nghĩa hay tác vụ get/set Lệnh định nghĩa thuộc tính thường có dạng sau : [scope | attribute] type name {[getdef] [setdef]};  scope, attirbute, type, name có ý nghĩa giống lệnh định nghĩa tác vụ  getdef setdef lệnh định nghĩa tác vụ get set thuộc tính tương ứng class Rectangle { private int m_cao; //thuộc tính vật lý public int Cao { //thuộc tính luận lý get { return m_cao; } set { if (value>0 && value = 100) { return 0; } else { return arr[index]; } } set { if (!(index < || index >= 100)) { arr[index] = value; } } } } Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 14 3.8 Định nghĩa phần tử quản lý danh sách (indexer)  Để truy xuất phần tử thứ i danh sách, ta dùng cú pháp giống truy xuất biến array Rectangle objRec = new Rectangle(); objrec.dientich(); objRec[0] = 0; int ret = objRec[10]; Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 15 3.9 Thành phần static thành phần không static  Phát biểu class dùng để đặc tả đối tượng loại mà phần mềm dùng Về nguyên tắc, đối tượng tạo (bằng lệnh new), chứa tất thành phần đặc tả class tương ứng Tuy nhiên, xét chi li VC# cho phép đặc tả loại thành phần class sau : Thành phần static : thành phần có từ khóa static lệnh định nghĩa Đây thành phần kết hợp với class, khơng nhân cho đối tượng đối tượng truy xuất Cách để truy xuất thành phần static thông qua tên class //Console tên class chứa hàm truy xuất //các thiết bị nhập/xuất chuẩn Console.Writeln("Nội dung cần hiển thị"); Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 16 3.9 Thành phần static thành phần không static Thành phần khơng static : thành phần khơng dùng từ khóa static lệnh định nghĩa Đây thành phần kết hợp với đối tượng, nhân cho đối tượng Ta truy xuất thành phần không static thông qua tham khảo đối tượng class Rectangle { private int m_cao; //thuộc tính vật lý public int Cao { //thuộc tính luận lý get { return m_cao; } set { if (value>0 && value = 100) { return 0; } else { return arr[index]; } } set { if (!(index < || index >= 100)) { arr[index] = value; } } } }; Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 22 Lệnh định nghĩa inreface C# điển hình interface IMyInterface { //2 định nghĩa tác vụ & toán tử chức void button1_Click(object sender, System.EventArgs e); //4 định nghĩa kiện Click xử lý delegate EventHandler event EventHandler Click; //5 định nghĩa thuộc tính luận lý x int x {get; set;} //7 định nghĩa indexer int this[int index] {get; set;} } Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 23 3.11 Kết chương    Chương giới thiệu cú pháp phát biểu class C# dùng để đặc tả chi tiết thực loại đối tượng dùng chương trình Chương giới thiệu cú pháp phát biểu để định nghĩa thành phần cấu thành đối tượng thuộc tính vật lý, thuộc tính giao tiếp, tác vụ chức năng, tốn tử, delegate, event, indexer Chương phân biệt loại thành phần đặc tả class : thành phần dùng chung (static) thành phần nhân theo đối tượng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 24 ... : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 23 3.11 Kết chương    Chương giới thiệu cú pháp phát biểu class C# dùng để đặc tả chi tiết thực loại đối tượng dùng chương. .. Môn : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 12 3. 8 Định nghĩa phần tử quản lý danh sách (indexer)    Để truy xuất đối tượng thuộc class, ta dùng biến đối tượng... : Các mẫu thiết kế hướng đối tượng Chương : Interface & Class C# Slide 17 3. 9 Các thuộc tính miêu tả hành vi     Từ khóa virtual lệnh định nghĩa tác vụ miêu tả tác vụ xử lý theo chế liên kết

Ngày đăng: 09/05/2021, 14:34

Xem thêm:

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

TÀI LIỆU LIÊN QUAN