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...
                
              
                                            
                                
            
 
            
                 15 trang
15 trang | 
Chia sẻ: putihuynh11 | Lượt xem: 667 | Lượt tải: 0 
              
            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:
 csharp007_6572_1987444.pdf csharp007_6572_1987444.pdf