Danh mục tài liệu

Cấu trúc và giao diện

Số trang: 24      Loại file: ppt      Dung lượng: 975.00 KB      Lượt xem: 23      Lượt tải: 0    
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Cấu trúc (struct):Khái niệm, khai báo và sử dụng struct,Phân biệt được struct và class,Nhận biết khi nào nên dùng struct.Giao diện (interface)Khái niệm, khai báo và sử dụng interface,Phân biệt được interface và lớp abstract,Xây dựng interface.
Nội dung trích xuất từ tài liệu:
Cấu trúc và giao diệnCẤU TRÚC VÀ GIAO DIỆN Giảng viên phụ trách: Nguyễn Hoàng Tùng Bộ môn Tin học Email: nhoangtung@agu.edu.vnMục đích bài học Cấu trúc (struct): Khái niệm, khai báo và sử dụng struct, Phân biệt được struct và class, Nhận biết khi nào nên dùng struct. Giao diện (interface) Khái niệm, khai báo và sử dụng interface, Phân biệt được interface và lớp abstract, Xây dựng interface.20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 2Cấu trúc (struct) Là một kiểu dữ liệu tham trị (value type). Sử dụng struct đối với các kiểu dữ liệu nhỏ, đơn giản, có các phương thức và thuộc tính như kiểu dữ liệu bẩm sinh (int, float, string,...). Dùng để đóng gói các trường dữ liệu có liên quan v ới nhau. Ví dụ: Tạo cấu trúc để biểu diễn một điểm trên trục toạ độ hai chiều.20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 3Khai báo struct Cú pháp: [access-modifier] struct identifier [:interface-list] { struct member } Ví dụ: public struct Location { public int X private int xVal; { private int yVal; get { return xVal; } public Location(int x, int y) { set { xVal = value; } this.xVal = x; } this.yVal = y; public int Y } { public override string ToString( ) { get { return yVal; } return String.Format (“{0},{1}”, set { yVal = value; } xVal, yVal ); } } }20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 4Hàm tạo và Kế thừa Ngầm định kế thừa từ lớp Object. Ngoài ra, struct không kế thừa bất cứ class hay struct nào khác, và không làm cơ s ở cho một class hay struct nào khác. Không dùng từ khóa abstract và sealed. Biến thành viên không có từ khóa protected. Các phương thức không có từ khóa abstract và virtual. Từ khóa override chỉ sử dụng khi override các phương thức được kế thừa từ đối tượng Object.20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 5Hàm tạo và Kế thừa Struct có thể thực thi (xây dựng lại) nhiều interface. Nếu có hàm tạo thì phải có tham số, không cho phép hàm tạo không tham số. Các thành viên của struct không có bộ khởi gán (initializer). interface IShape() struct KeyValue { { void Paint(); private string key; } private string value; struct Rectangle : Ishape public KeyValue(string key, string value) { { public void Paint() { … } this.key = key; this.value = value; private int x, y, z; } } }20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 6Struct là một kiểu dữ liệu tham trị Ví dụ: Kết quả: static void Main() { Location loc = new Location(200, 300); loc.X = ? myFunc(loc); loc.Y = ? Console.WriteLine(loc.ToString()); } static void myFunc(Location loc) { loc.X = 100 ; loc.Y = 200; }20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 7Một kiểu khai báo khác của struct Tạo đối tượng struct không dùng từ khóa new: Struct là kiểu trị nên có thể tạo một đối tượng struct không cần từ khóa new (giống như các kiểu bẩm sinh: int, long,...) Không triệu gọi hàm tạo (constructor). Phải khởi gán các biến thành viên trước khi gọi các phương thức. Ví dụ: static void Main() { Không triệu gọi hàm tạo Location loc; loc.X = 100 ; Phải khởi gán các biến thành viên trước khi gọi các loc.Y = 200; phương thức. myFunc(loc); }20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 8So sánh struct và class20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 9Sử dụng struct khi nào? Thể hiện (instance) có kích thước nhỏ (16 byte). Có chu kỳ ngắn. Thông thường nằm lồng trong một đối tượng thu ộc class nào đó. Không có ý định cho việc kế thừa. Không thường xuyên được sử dụng để boxing.20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 10Demo struct20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 11Giao diện (interface) Giao diện giống như một bản vẽ thiết kế, nó đảm bảo việc các chương trình muốn xây dựng lại giao diện phải thực thi tất cả những gì trong bản vẽ.20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 12Khai báo interface Cú pháp: [access-modifier] interface identifier [:base-list] { interface body } Không thể cài đặt code trong phần thân. Tên giao diện nên bắt đầu bằng chữ I hoa (IShape, ISinhVien). Các thành viên trong phần thân chỉ bao gồm: phương thức, thuộc tính, sự kiện, bộ chỉ mục. Không thể chứa: hằng, biến, toán tử, hàm tạo, hàm hủy, kiểu dữ liệu và các từ khóa: abstract, public, protected, internal, private, virtual, override. Khi một class (hoặc struct) thiết đặt một giao diện thì ph ải thi công tất cả các thành viên của giao diện này.20/12/2011 Chuyên đề Ngôn ngữ lập trình 3 13Xây dựng interface Ví dụ: interface IStorable public class Document : Istorable { { public void Read() { void Read(); void Write(object obj); Console.WriteLine(Thi công hàm int Status { get; set; } ...

Tài liệu được xem nhiều:

Tài liệu có liên quan: