Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 2 do Hồ Hoàn Kiếm biên soạn bao gồm những nội dung về lập trình hướng đối trượng trong C#; Namespace; lớp và đối tượng; các thành phần trong lớp; Constructors trong C#; Static Constructor; Private Constructor; Destructors trong C#; Overloading Methods.
Lập trình Windows với Microsoft® NET Giảng viên : Hồ Hồn Kiếm Lập trình hướng đối trượng C# Namespace, Lớp Đối tượng Các thành phần Lớp , Đối tượng Constructors Destructors Nạp chồng phương thức (Overloading) Các phương thức chồng toán tử ( Operator Overloading ) Viết lại thành phần lớp (Overriding) Kế thừa (Inheritance) Namespace Tránh trùng lắp đặt tên lớp Quản lý mã dễ dàng Giảm bớt phức tạp chạy với ứng dụng khác namespace Tên_Namespace { //Khai báo lớp… } Có thể khai báo namespace, class…,bên namespace khác Namespace Ví dụ : namespace Sample { public class A { } public class B { } } Namespace Ví dụ : namespace Sample_2 { public class A { } namspace Sample_3 { //… } } Lớp Đối tượng Khai báo : class Tên_lớp { //khai báo thành phần… } Ví dụ : class KhachHang { private int mMaKhachHang; private string mTenKhachHang; } Lớp Đối tượng class KhachHang { //Các thành phần //Các phương thức public void In() { //Các câu lệnh… } } Các thành phần Lớp Thành phần lớp - khai báo với từ khóa static class KhachHang { private static int mMaKH; public static string mTenKH; public static void In() { // Các câu lệnh } } Sử dụng : TênLớp.TênThànhPhần ví dụ : KhachHang.mTenKH = 1; KhachHang.In() ; Các thành phần Lớp Thành phần đối tượng : class KhachHang { private int mMaKH; public string mTenKH; public void In() { // Các câu lệnh } } Sử dụng : TênĐốiTượng.TênThànhPhần ví dụ : KhachHang objKH = new KhachHang() objKH In() ; objKH.mTenKH = “ABC”; Constructors C# Phương thức đặc biệt lớp Được gọi đối tượng tạo Dùng để khởi dựng đối tượng Cùng tên với tên lớp Khơng có giá trị trả Constructors C# class KhachHang { private int mMaKH; private string mTenKH; public KhachHang() { mKH = 0; mTenKH = “ABC”; } } Constructor có tham số Constructors C# class KhachHang { private int mMaKH; private string mTenKH; public KhachHang() { mKH = 0; mTenKH = “ABC”; } public KhachHang(int MaKH, string TenKH) { mKH = MaKH; mTenKH = TenKH; } } Static Constructor Gọi lần trước đối tượng tạo Khơng có tham số class KhachHang { public KhachHang() { mKH = 0; mTenKH = “ABC”; } static KhachHang() { // Các câu lệnh… } } Private Constructor Sử dụng thành phần lớp static Không cần thiết tạo đối tượng cho lớp class KhachHang { private static int mMaKH; public static string mTenKH; public static void In() { // Các câu lệnh } private KhachHang() { } } Destructors C# Được gọi Garbage Collector Được gọi tự động đối tượng hủy class KhachHang { public KhachHang() { mKH = 0; mTenKH = “ABC”; } ~KhachHang() { // Các câu lệnh… } } Overloading Methods Các phương thức có tên , khác danh sách tham số kiểu tham số public void In() { // Các câu lệnh } public void In(string s) { // Các câu lệnh } public void In(int s) { // Các câu lệnh } .. .Lập trình hướng đối trượng C# Namespace, Lớp Đối tượng Các thành phần Lớp , Đối tượng Constructors Destructors Nạp chồng phương thức (Overloading) Các phương thức chồng toán... //Các phương thức public void In() { //Các câu lệnh… } } Các thành phần Lớp Thành phần lớp - khai báo với từ khóa static class KhachHang { private static int mMaKH; public static string mTenKH;... : namespace Sample { public class A { } public class B { } } Namespace Ví dụ : namespace Sample _2 { public class A { } namspace Sample_3 { //… } } Lớp Đối tượng Khai báo : class Tên_lớp {