Lập trình .NET và C# - Lecture 7: Structure - Cấu trúc

Tài liệu Lập trình .NET và C# - Lecture 7: Structure - Cấu trúc: 1Lập trình .NET và C# Lecture 7: Structure- Cấu trúc TS Đào Nam Anh UTM, Khoa KH&CN 2Resources  Các giải pháp lập trình C#, Nguyễn Ngọc Bình Phương - Thái Thanh Phong  Allen Jones. C# Programmer's Cookbook. Microsoft Press, 2004  John Connell. Coding Techniques for Microsoft Visual Basic .NET. Microsoft Press, 2002.  Harvey M. Deitel, Paul J. Deitel, & Tem R. Nieto. Visual Basic .NET How to Program, Second Edition. Prentice Hall, 2002.  Jose Mojica. C# and VB .NET Conversion Pocket Reference. O'Reilly, 2002.  James Avery. Ten Must-Have Tools Every Developer Should Download Now. MSDN Magazine, 2004.  Karl Moore. The Ultimate VB.NET and ASP.NET Code Book. Apress, 2003  Matthew MacDonald. Microsoft Visual Basic .NET Programmer's Cookbook. Microsoft Press, 2003.  Mark Schmidt & Simon Robinson. Microsoft Visual C# .NET 2003 Developer's Cookbook. Sams Publishing, 2003.  Dương Quang Thiện. Lập trình Visual C# thế nào? Nhà xuất bản Tổng Hợp TP. Hồ Chí Minh...

pdf15 trang | Chia sẻ: putihuynh11 | Lượt xem: 477 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Lập trình .NET và C# - Lecture 7: Structure - Cấu trúc, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Lập trình .NET và C# Lecture 7: Structure- Cấu trúc TS Đào Nam Anh UTM, Khoa KH&CN 2Resources  Các giải pháp lập trình C#, Nguyễn Ngọc Bình Phương - Thái Thanh Phong  Allen Jones. C# Programmer's Cookbook. Microsoft Press, 2004  John Connell. Coding Techniques for Microsoft Visual Basic .NET. Microsoft Press, 2002.  Harvey M. Deitel, Paul J. Deitel, & Tem R. Nieto. Visual Basic .NET How to Program, Second Edition. Prentice Hall, 2002.  Jose Mojica. C# and VB .NET Conversion Pocket Reference. O'Reilly, 2002.  James Avery. Ten Must-Have Tools Every Developer Should Download Now. MSDN Magazine, 2004.  Karl Moore. The Ultimate VB.NET and ASP.NET Code Book. Apress, 2003  Matthew MacDonald. Microsoft Visual Basic .NET Programmer's Cookbook. Microsoft Press, 2003.  Mark Schmidt & Simon Robinson. Microsoft Visual C# .NET 2003 Developer's Cookbook. Sams Publishing, 2003.  Dương Quang Thiện. Lập trình Visual C# thế nào? Nhà xuất bản Tổng Hợp TP. Hồ Chí Minh, 2005.  Nguyễn Ngọc Bình Phương & Lê Trần Nhật Quỳnh. Các giải pháp lập trình Visual Basic .NET. Nhà xuất bản Giao thông Vận tải, 2006  www.msdn.microsoft.com, www.codeproject.com, www.msd2d.com, www.developersdex.com, www.windowsforms.net, www.gotdotnet.com, www.codeguru.com, www.developerfusion.com 3 Định nghĩa cấu trúc  Tạo cấu trúc  Cấu trúc là một kiểu giá trị  Gọi bộ khởi dựng mặc định  Tạo cấu trúc không gọi new 4Định nghĩa cấu trúc  Cấu trúc là kiểu dữ liệu đơn giản do người dùng định nghĩa, kích thước nhỏ dùng để thay thế cho lớp.  Tương tự như lớp, cấu trúc cũng chứa các phương thức, những thuộc tính, các trường, các toán tử, các kiểu dữ liệu lồng bên trong và bộ chỉ mục (indexer). 5Định nghĩa cấu trúc Có một số sự khác nhau quan trọng giữa những lớp và cấu trúc.  Cấu trúc thì không hỗ trợ kế thừa và bộ hủy giống như kiểu lớp.  Trong khi lớp là kiểu dữ liệu tham chiếu, thì cấu trúc là kiểu dữ liệu giá trị  Do đó cấu trúc thường dùng để thể hiển các đối tượng không đòi hỏi một ngữ nghĩa tham chiếu 6Định nghĩa cấu trúc  nên sử dụng những cấu trúc chỉ với những kiểu dữ liệu nhỏ, và những hành vi hay thuộc tính của nó giống như các kiểu dữ liệu được xây dựng sẵn. 7Định nghĩa cấu trúc Cú pháp để khai báo một cấu trúc cũng tương tự như cách khai báo một lớp: [thuộc tính] [bổ sung truy cập] struct <tên cấu trúc> [: danh sách giao diện] { [thành viên của cấu trúc] } 8using System; public struct Location { public Location( int xCoordinate, int yCoordinate) { xVal = xCoordinate; yVal = yCoordinate; } public int x { get { return xVal; } set { xVal = value; } } public int y { get { return yVal; } set 9Định nghĩa cấu trúc  Cấu trúc không hỗ trợ việc thừa kế. Chúng được thừa kế ngầm định từ lớp object () nhưng không thể kế thừa từ các lớp khác hay cấu trúc khác.  Cấu trúc cũng được ngầm định là sealed, điều này có ý nghĩa là không có lớp nào hay bất cứ cấu trúc nào có thể dẫn xuất từ nó.  Tuy nhiên, cũng giống như các lớp, cấu trúc có thể thực thi nhiều giao diện. 10  cấu trúc không có bộ hủy và cũng không có bộ khởi tạo mặc định không tham số tùy chọn.  Nếu không cung cấp bộ khởi tạo nào thì cấu trúc sẽ được cung cấp một bộ khởi tạo mặc định, khi đó giá trị 0 sẽ được thiết lập cho tất cả các dữ liệu thành viên 11  Không cho phép khởi tạo: không thể khởi tạo các trường thể hiện (instance fields) trong cấu trúc, do đó đoạn mã nguồn sau sẽ không hợp lệ:  private int xVal = 20;  private int yVal = 50;  mặc dù điều này thực hiện tốt đối với lớp. 12 Tạo cấu trúc  Tạo cấu trúc  Cấu trúc là một kiểu giá trị  Gọi bộ khởi dựng mặc định  Tạo cấu trúc không gọi new 13 Tạo cấu trúc sử dụng từ khóa new trong câu lệnh gán, như khi chúng ta tạo một đối tượng của lớp. Location loc1 = new Location( 200, 300); 14 Tạo cấu trúc Không sử dụng từ khóa new Location loc1; loc1.xVal = 100; loc1.yVal = 250; 15 Question

Các file đính kèm theo tài liệu này:

  • pdfcsharp007_6572_1987444.pdf