Bài giảng Lập trình hướng đối tượng - Chương 2: Các kiến thức cơ bản về lập trình C# đã học

2.0 Dẫn nhập

2.1 Cấu trúc của 1 ứng dụng C# nhỏ

2.2 Kiểu dữ liệu ₫ịnh sẵn

2.3 Kiểu liệt kê

2.4 Kiểu record

2.5 Kiểu array

2.6 Phân tích top-down theo hướng ₫ối tượng

2.7 Namespace

2.8 Assembly

2.9 Kết chương

pdf 26 trang phuongnguyen 9840
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 2: Các kiến thức cơ bản về lập trình C# đã học", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình hướng đối tượng - Chương 2: Các kiến thức cơ bản về lập trình C# đã học

Bài giảng Lập trình hướng đối tượng - Chương 2: Các kiến thức cơ bản về lập trình C# đã học
 Chương 2
Các kiến thức cơ bản về lập trình C# ₫ã học
 2.0 Dẫn nhập
 2.1 Cấu trúc của 1 ứng dụng C# nhỏ 
 2.2 Kiểu dữ liệu ₫ịnh sẵn
 2.3 Kiểu liệt kê
 2.4 Kiểu record
 2.5 Kiểu array
 2.6 Phân tích top-down theo hướng ₫ối tượng
 2.7 Namespace
 2.8 Assembly
 2.9 Kết chương
Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
© 2010 Slide 1
2.0 Dẫn nhập 
 Chương này giới thiệu cấu trúc của chương trình VC# nhỏ và ₫ơn
 giản gồm 1 số biến dữ liệu và 1 số hàm xử lý các biến dữ liệu, từ
 ₫ó tổng kết lại các kiểu dữ liệu khác nhau có thể ₫ược dùng trong
 1 chương trình.
 Chương này cũng giới thiệu phương pháp ₫ặt tên cho các phần tử
 cấu thành ứng dụng lớn 1 cách khoa học, cách chứa các phần tử
 cấu thành ứng dụng lớn trong các module vật lý.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 2
2.1 Cấu trúc của 1 ứng dụng C# nhỏ 
Trong môn kỹ thuật lập trình, chúng ta ₫ã viết ₫ược 1 số ứng dụng C# 
nhỏ và ₫ơn giản. Trong trường hợp này, 1 ứng dụng C# là 1 class gồm 
nhiều thuộc tính dữ liệu và nhiều hàm chức năng. Chương trình bắt 
₫ầu chạy từ hàm Main.
 dữ liệu 
 chương trình
Điểm nhập 
 chương dữ liệu cục 
 trình bộ trong 
 (Main) từng hàm
 các hàm 
 chức năng
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 3
2.1 Cấu trúc của 1 ứng dụng C# nhỏ 
using System;
namespace GPTB2 {
 class Program {
 //₫ịnh nghĩa các biến cần dùng
 static double a, b, c;
 static double delta;
 static double x1, x2;
 //₫ịnh nghĩa hàm nhập 3 thông số a,b,c của phương trình bậc 2
 static void NhapABC() {
 String buf;
 Console.Write("Nhập a : "); buf= Console.ReadLine();
 a = Double.Parse(buf);
 Console.Write("Nhập b : "); buf = Console.ReadLine();
 b = Double.Parse(buf);
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 4
2.1 Cấu trúc của 1 ứng dụng C# nhỏ 
 Console.Write("Nhập c : "); buf = Console.ReadLine();
 c = Double.Parse(buf);
 }
 //₫ịnh nghĩa hàm tính nghiệm của phương trình bậc 2
 static void GiaiPT()
 {
 //tính biệt số delta của phương trình
 delta = b * b - 4 * a * c;
 if (delta >= 0) //nếu có nghiệm thực
 {
 x1 = (-b + Math.Sqrt(delta)) / 2 / a;
 x2 = (-b - Math.Sqrt(delta)) / 2 / a;
 }
 }
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 5
2.1 Cấu trúc của 1 ứng dụng C# nhỏ 
 //₫ịnh nghĩa hàm xuất kết quả
 static void XuatKetqua()
 {
 if (delta < 0) 
 //báo vô nghiệm
 Console.WriteLine("Phương trình vô nghiệm");
 else //báo có 2 nghiệm
 {
 Console.WriteLine("Phương trình có 2 nghiệm thực : ");
 Console.WriteLine("X1 = " + x1);
 Console.WriteLine("X2 = " + x2);
 }
 }
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 6
2.1 Cấu trúc của 1 ứng dụng C# nhỏ 
 //₫ịnh nghĩa chương trình (hàm Main)
 static void Main(string[] args)
 {
 NhapABC(); //1. nhập a,b,c
 GiaiPT(); //2. giải phương trình
 XuatKetqua(); //3. xuất kết quả
 //4. chờ người dùng ấn Enter ₫ể ₫óng cửa sổ Console lại.
 Console.Write("Ấn Enter ₫ể dừng chương trình : ");
 Console.Read();
 }
 } //kết thúc class
} //kết thúc namespace
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 7
2.1 Cấu trúc của 1 ứng dụng C# nhỏ 
Quan sát cấu trúc của chương trình C# nhỏ ở slide 3, chúng ta có 1 số
nhận xét sau :
 1. Dữ liệu chương trình thường rất phong phú, ₫a dạng về chủng
 loại Cơ chế ₫ịnh nghĩa kiểu dữ liệu nào ₫ược dùng ₫ể ₫ảm
 bảo người lập trình có thể ₫ịnh nghĩa kiểu riêng mà ứng dụng
 của họ cần dùng ?
 2. Nếu ứng dụng lớn chứa rất nhiều hàm chức năng và phải xử lý
 rất nhiều dữ liệu thì rất khó quản lý chúng trong 1 class ₫ơn
 giản cần 1 cấu trúc phù hợp ₫ể quản lý ứng dụng lớn.
 3. Chương trình thường phải nhờ các hàm chức năng ở các class
 khác ₫ể hỗ trợ mình. Thí dụ ta ₫ã gọi hàm Read, Write của class
 Console ₫ể nhập/xuất dữ liệu cho chương trình Cơ chế nhờ
 vả nào ₫ược dùng ₫ể ₫ảm bảo các thành phần trong ứng dụng
 không “quậy phá” nhau?
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 8
2.2 Kiểu dữ liệu cơ bản ₫ịnh sẵn
 Các thuật giải chức năng của chương trình sẽ xử lý dữ liệu. Dữ liệu 
 của chương trình thường rất phong phú, ₫a dạng về chủng loại. 
 Trước hết ngôn ngữ C# (hay bất kỳ ngôn ngữ lập trình nào) phải 
 ₫ịnh nghĩa 1 số kiểu ₫ược dùng phổ biến nhất trong các ứng dụng, 
 ta gọi các kiểu này là “kiểu ₫ịnh sẵn”. 
 Mỗi dữ liệu thường ₫ược ₫ể trong 1 biến. Phát biểu ₫ịnh nghĩa 
 biến sẽ ₫ặc tả các thông tin về biến ₫ó :
 1. tên nhận dạng ₫ể truy xuất.
 2. kiểu dữ liệu ₫ể xác ₫ịnh các giá trị nào ₫ược lưu trong biến.
 3. giá trị ban ₫ầu mà biến chứa...
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 9
2.2 Kiểu dữ liệu cơ bản ₫ịnh sẵn
 Biến thuộc kiểu ₫ịnh sẳn sẽ chứa trực tiếp giá trị, thí dụ biến 
 nguyên chứa trực tiếp các số nguyên, biến thực chứa trực tiếp các 
 số thực Ta gọi kiểu ₫ịnh sẵn là kiểu giá trị (value type) ₫ể phân 
 biệt với kiểu tham khảo (reference type) trong lập trình hướng ₫ối 
 tượng ở các chương sau.
 Kiểu tham khảo (hay kiểu ₫ối tượng) sẽ ₫ược trình bày trong 
 chương 2 trở ₫i. Đây là kiểu quyết ₫ịnh trong lập trình hướng ₫ối 
 tượng. Một biến ₫ối tượng là biến có kiểu là tên interface hay tên 
 class. Biến ₫ối tượng không chứa trực tiếp ₫ối tượng, nó chỉ chứa 
 thông tin ₫ể truy xuất ₫ược ₫ối tượng Ta gọi kiểu ₫ối tượng là 
 kiểu tham khảo (reference type).
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 10
2.2 Kiểu dữ liệu cơ bản ₫ịnh sẵn
 bool : kiểu luận lý, có 2 giá trị true và false.
 byte : kiểu nguyên dương 1 byte, có tầm trị từ 0 ₫ến 255.
 sbyte : kiểu nguyên có dấu 1 byte, có tầm trị từ -128 ₫ến 127.
 char : kiểu ký tự Unicode 2 byte, có tầm trị từ mã 0000 ₫ến FFFF.
 short : kiểu nguyên có dấu 2 byte, tầm trị từ -32768 ₫ến 32767.
 ushort : kiểu nguyên dương 2 byte, tầm trị từ 0 ₫ến 65535.
 int : kiểu nguyên có dấu 4 byte, tầm trị từ -2,147,483,648 ₫ến 
 2,147,483,647.
 uint : kiểu nguyên dương 4 byte, tầm trị từ 0 ₫ến 4,294,967,295.
 long : kiểu nguyên có dấu 8 byte, tầm trị từ -263 ₫ến 263-1.
 ulong : kiểu nguyên dương 8 byte, tầm trị từ 0 ₫ến 263-1.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 11
2.2 Kiểu dữ liệu cơ bản ₫ịnh sẵn
 float : kiểu thực chính xác ₫ơn, dùng 4 byte ₫ể miêu tả 1 giá trị 
 thực, có tầm trị từ ±1.5 × 10−45 to ±3.4 × 1038. Độ chính xác 
 khoảng 7 ký số thập phân.
 double : kiểu thực chính xác kép, dùng 8 byte ₫ể miêu tả 1 giá trị 
 thực, có tầm trị từ ±5.0 × 10−324 to ±1.7 × 10308. Độ chính xác 
 khoảng 15 ký số thập phân.
 decimal : kiểu thực chính xác cao, dùng 16 byte ₫ể miêu tả 1 giá 
 trị thực, có tầm trị từ ±1.0 × 10−28 to ±7.9 × 1028. Độ chính xác 
 khoảng 28-29 ký số thập phân.
 object (Object) : kiểu ₫ối tượng bất kỳ, ₫ây là 1 class ₫ịnh sẵn ₫ặc 
 biệt.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 12
2.3 Kiểu do người lập trình tự ₫ịnh nghĩa - Liệt kê
 Ngoài các kiểu cơ bản ₫ịnh sẵn, C# còn hỗ trợ người lập trình tự 
 ₫ịnh nghĩa các kiểu dữ liệu ₫ặc thù trong từng ứng dụng. 
 Kiểu liệt kê bao gồm 1 tập hữu hạn và nhỏ các giá trị ₫ặc thù cụ 
 thể. Máy sẽ mã hóa các giá trị kiểu liệt kê thành kiểu byte, short...
 //₫ịnh nghĩa kiểu chứa các giá trị ngày trong tuần
 enum DayInWeek {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
 //₫ịnh nghĩa kiểu chứa các giá trị ngày trong tuần
 enum DayInWeek {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
 //₫ịnh nghĩa biến chứa các giá trị ngày trong tuần
 DayInWeek day = DayInWeek.Tue;
 //₫ịnh nghĩa kiểu chứa các giá trị nguyên trong tầm trị ₫ặc thù
 enum ManAge : byte {Max = 130, Min = 0};
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 13
2.4 Kiểu do người lập trình tự ₫ịnh nghĩa - Record
 Kiểu record bao gồm 1 tập hữu hạn các thông tin cần quản lý. 
 //₫ịnh nghĩa kiểu miêu tả các thông tin của từng sinh viên cần quản lý
 public struct Sinhvien {
 public String hoten;
 public String diachi;
 //các field khác
 }
 Thật ra kiểu struct là trường hợp ₫ặc biệt của class ₫ối tượng mà ta 
 sẽ trình bày chi tiết từ chương 2.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 14
2.5 Kiểu do người lập trình tự ₫ịnh nghĩa - Array
 Trong trường hợp ta có nhiều dữ liệu cần xử lý thuộc cùng 1 kiểu 
 (thường xảy ra), nếu ta ₫ịnh nghĩa từng biến ₫ơn ₫ể miêu tả từng 
 dữ liệu thì rất nặng nề, thuật giải xử lý chúng cũng gặp nhiều khó 
 khăn. Trong trường hợp này, tốt nhất là dùng kiểu Array ₫ể quản 
 lý nhiều dữ liệu cần xử lý. Array có thể là :
 . array 1 chiều. 
 . array nhiều chiều.
 . array "jagged".
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 15
Array 1 chiều
 int[] intList; //1.₫ịnh nghĩa biến array là danh sách các số nguyên
 //2. khi biết ₫ược số lượng, thiết lập số phần tử cho biến array
 intList = new int[5];
 //3. gán giá trị cho từng phần tử khi biết ₫ược giá trị của nó
 intList[0] = 1; intList[1] = 3; intList[2] = 5;
 intList[3] = 7; intList[4] = 9;
Nếu có ₫ủ thông tin tại thời ₫iểm lập trình, ta có thể viết lệnh ₫ịnh
nghĩa biến array như sau :
 int[] intList = new int[5] {1, 3, 5, 7, 9};
hay ₫ơn giản :
 int[] intList = new int[] {1, 3, 5, 7, 9};
hay ₫ơn giản hơn nữa :
 int[] intList = {1, 3, 5, 7, 9};
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 16
Array nhiều chiều
 int[,] matran; //1. ₫ịnh nghĩa biến array là ma trận các số nguyên
 //2. khi biết ₫ược số lượng, thiết lập số phần tử cho biến array
 matran = new int[3,2];
 //3. gán giá trị cho từng phần tử khi biết ₫ược giá trị của nó
 matran[0,0] = 1; matran[0,1] = 2; matran[1,0] = 3; 
 matran[1,1] = 4; matran[2,0] = 5; matran[2,1] = 6;
Nếu có ₫ủ thông tin tại thời ₫iểm lập trình, ta có thể viết lệnh ₫ịnh
nghĩa biến array như sau :
 int[,] matran = new int[3,2] {{1, 2}, {3, 4}, {5,6}};
hay ₫ơn giản :
 int[,] matran = new int[,] {{1, 2}, {3, 4}, {5,6}};
hay ₫ơn giản hơn nữa :
 int[,] matran = {{1, 2}, {3, 4}, {5,6}};
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 17
Array "jagged"
Array "jagged" là array mà từng phần tử là array khác, các array ₫ược
chứa trong array "jagged" có thể là array 1 chiều, n chiều hay là array 
"jagged' khác.
 int[][] matran; //1. ₫ịnh nghĩa biến array "jagged"
 //2. khi biết ₫ược số lượng, thiết lập số phần tử cho biến array
 matran = new int[3][];
 for (int i = 0; i < 3; i++) matran[i] = new int[2+i];
 //3. gán giá trị cho từng phần tử khi biết ₫ược giá trị của nó
 matran[0][0] = 1; matran[0][1] = 2; matran[1][0] = 3; 
 matran[1][1] = 4; matran[2][0] = 5; matran[2][1] = 6;
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 18
Array "jagged"
Nếu có ₫ủ thông tin tại thời ₫iểm lập trình, ta có thể viết lệnh ₫ịnh
nghĩa biến array như sau :
 int[][] array = new int [3][];
 array[0] = new int[] {1, 2};
 array[1] = new int[] {3, 4};
 array[2] = new int[] {5,6};
hay ₫ơn giản :
 int[][] array = new int [][] {new int[]{1, 2}, new int[]{3, 4}, new int[] {5,6}};
hay ₫ơn giản hơn nữa :
 int[][] array = {new int[]{1, 2}, new int[]{3, 4}, new int[] {5,6}};
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 19
2.6 Phương pháp phân tích từ-trên-xuống
 Như ₫ã thấy ở slide trước, nếu ứng dụng lớn chứa rất nhiều hàm 
 chức năng và phải xử lý rất nhiều dữ liệu thì rất khó quản lý chúng 
 trong 1 class ₫ơn giản cần 1 cấu trúc phù hợp ₫ể quản lý ứng 
 dụng lớn. Phương pháp ₫ược dùng phổ biến nhất là phương pháp 
 phân tích top-down. 
 Nội dung của phương pháp này là phân rã class ứng dụng lớn 
 thành n class nhỏ hơn (với n ₫ủ nhỏ ₫ể việc phân rã ₫ơn giản). 
 Mỗi class nhỏ hơn, nếu còn quá phức tạp, lại ₫ược phân rã thành 
 m class nhỏ hơn nữa (với m ₫ủ nhỏ), cứ như vậy cho ₫ến khi các 
 class tìm ₫ược hoặc là class ₫ã xây dựng rồi hoặc là class khá ₫ơn 
 giản, có thể xây dựng dễ dàng.
 Hình vẽ của slide kế cho thấy trực quan của việc phân tích top-
 down theo hướng ₫ối tượng.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 20
 2.6 Phương pháp phân tích từ-trên-xuống
 chia thành nhiều class Ứng dụng cần viết 
 nhỏ hơn, ₫ơn giản ₫ể 1 class ₫ối tượng phức tạp A
 giải quyết hơn.
 Class A1 Class A2 ... Class An
 Class A11 Class A12 Class A1n Class An1 Class An2 Class Ann
Các class ₫ủ nhỏ hay 
₫ã ₫ược xây dựng 
 ... ... ... ...
rồi.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 21
2.7 Namespace
 Trên mỗi máy có 1 hệ thống quản lý các ₫ối tượng ₫ược dùng bởi
 nhiều ứng dụng ₫ang chạy. Mỗi ứng dụng lớn gồm rất nhiều class
 ₫ối tượng khác nhau. Mỗi phần tử trong hệ thống tổng thể ₫ều
 phải có tên nhận dạng duy nhất. Để ₫ặt tên các phần tử trong hệ
 thống lớn sao cho mỗi phần tử có tên hoàn toàn khác nhau (₫ể
 tránh tranh chấp, nhặp nhằng), C# (và các ngôn ngữ .Net khác)
 cung cấp phương tiện Namespace (không gian tên).
 Namespace là 1 không gian tên theo dạng phân cấp : mỗi
 namespace sẽ chứa nhiều phần tử như struct, enum, class,
 interface và namespace con. Để truy xuất 1 phần tử trong
 namespace, ta phải dùng tên dạng phân cấp, thí dụ
 System.Windows.Forms.Button là tên của class Button, class miêu
 tả ₫ối tượng giao diện button trong các form ứng dụng.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 22
2.7 Namespace
 Trong file mã nguồn C#, ₫ể truy xuất 1 phần tử trong không gian
 tên khác, ta có thể dùng 1 trong 2 cách :
 . dùng tên tuyệt ₫ối dạng cây phân cấp. Thí dụ :
 //₫ịnh nghĩa 1 biến Button
 System.Windows.Forms.Button objButton;
 . dùng lệnh using ; Kể từ ₫ây, ta nhận dạng
 phần tử bất kỳ trong namespace ₫ó thông qua tên cục bộ. Thí
 dụ :
 using System.Windows.Forms;
 Button objButton; //₫ịnh nghĩa 1 biến Button
 TextBox objText; //₫ịnh nghĩa 1 biến TextBox
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 23
2.7 Namespace
 Microsoft ₫ã xây dựng sẵn hàng ngàn class, interface chức năng
 phổ biến và ₫ặt chúng trong khoảng 500 namespace khác nhau :
 . System chứa các class và interface chức năng cơ bản nhất của
 hệ thống như Console (nhập/xuất văn bản), Math (các hàm
 toán học),..
 . System.Windows.Forms chứa các ₫ối tượng giao diện phổ dụng
 như Button, TextBox, ListBox, ComboBox,...
 . System.Drawing chứa các ₫ối tượng phục vụ xuất dữ liệu ra
 thiết bị vẽ như class Graphics, Pen, Brush,...
 . System.IO chứa các class nhập/xuất dữ liệu ra file.
 . System.Data chứa các class truy xuất database theo kỹ thuật
 ADO .Net.
 . ...
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 24
2.8 Assembly
. Ngoài khái niệm namespace là phương tiện ₫ặt tên luận lý các
 phần tử theo dạng cây phân cấp thì C# còn cung cấp khái niệm
 assembly.
. Assembly là phương tiện ₫óng gói vật lý nhiều phần tử. Một
 assembly là 1 file khả thi (EXE, DLL,...) chứa nhiều phần tử bên
 trong. Khi lập trình bằng môi trường Visual Studio .Net, ta sẽ tạo
 Project ₫ể quản lý việc xây dựng module chức năng nào ₫ó (thư
 viện hay ứng dụng), mỗi project chứa nhiều file mã nguồn ₫ặc tả
 các thành phần trong Project ₫ó. Khi máy dịch Project mã nguồn
 nó sẽ tạo ra file khả thi, ta gọi file này là 1 assembly.
. Mỗi assembly có thể chứa nhiều phần tử nằm trong các namespace
 luận lý khác nhau. Ngược lại, 1 namespace có thể chứa nhiều phần
 tử mà về mặt vật lý chúng nằm trong các assembly khác nhau.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 25
2.9 Kết chương
 Chương này ₫ã giới thiệu cấu trúc của chương trình VC# nhỏ và
 ₫ơn giản gồm 1 số biến dữ liệu và 1 số hàm xử lý các biến dữ liệu,
 từ₫ótổngkếtlạicáckiểudữliệukhácnhaucóthể₫ượcdùng
 trong 1 chương trình, ₫ặc biệt là các kiểu liệt kê, kiểu array, kiểu
 record.
 Chương này cũng giới thiệu phương pháp ₫ặt tên cho các phần tử
 cấu thành ứng dụng lớn 1 cách khoa học thông qua khái niệm
 namespace dạng cây phân cấp, cách chứa các phần tử cấu thành
 ứng dụng lớn trong các module vật lý ₫ược gọi là assembly.
 Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng
 Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các kiến thức cơ bản về lập trình C# ₫ã học
 © 2010 Slide 26

File đính kèm:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_chuong_2_cac_kien_thuc_c.pdf