Lập trình cơ sở dữ liệu C Sharp-Phần 3
lượt xem 51
download
Sử dụng nhiều modules of code, mỗi module cung cấp 1 chức năng riêng và có thể được cô lập hay thậm chí độc lập hoàn toàn với nhau
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình cơ sở dữ liệu C Sharp-Phần 3
- Chương 3 Xây dưng lơp va giao diên ̣ ́ ̀ ̣ 1
- Nội dung Lâp trinh hướng đôi tượng là gi? ̣ ̀ ́ ̀ Khai báo lớp ́ Khai bao interface Constructor & destructor Thuộc tính (field) Method Inheritance Protected fields Overriding method 2
- ̣ Nôi dung Nôi Polymorphism (Đa hình) Down cast – up cast Abstract class Sealed class, nested class Interface 3
- Overview Overview “Everything is an object! At least, that is the view from inside the CLR and the C# programming language. This is no surprise, because C# is, after all, an object-oriented language. The objects that you create through class definitions in C# have all the same capabilities as the other predefined objects in the system…” Apress-Accelerated C# 2008 4
- Object-oriented Programming (OOP) Object-oriented Kỹ thuât lâp trinh truyên thông ( procedural ̣̣ ̀ ̀ ́ programming): all functionality is contained in a few modules of code (often just one) Khó thay thế cai tiên̉ ́ Kỹ thuât OOP : ̣ Sử dung nhiêu modules of code, môi module cung ̣ ̀ ̃ câp 1 chức năng riêng và có thể được cô lâp ́ ̣ (isolated) hay thâm chí đôc lâp hoan toan với ̣ ̣ ̣ ̀ ̀ nhau. Dễ dang sử dung lai cac module ̀ ̣ ̣ ́ 5
- What is an Object? What An object is a building block of an OOP application Objects in C# are created from types, just like the variables. The type of an object is known by a special name in OOP, its class. You can use class definitions to instantiate objects, which means creating a real, named instance of a class. 6
- ́ ́ ̉ Câu truc cua object Câu ̣ ̀ ́ Môt object gôm co: Field Method 7
- Life Cycle of an Object Life ̀ ̣ Gôm 2 giai đoan (two important stages): ➤ Construction: đôi tượng cân được khởi tao, và được thực ́ ̀ ̣ thi bởi ham constructor ̀ ➤ Destruction: khi đôi tượng bị huy bo, 1 số nhiêm vụ clean- ́ ̉ ̉ ̣ up cân được thực thi để giai phong bộ nhớ ham ̀ ̉ ́ ̀ destructor. 8
- Tạo lớp trong C# Khai báo lớp [access modifier] class [: base class] { // class body } Nếu ko khai báo lớp cơ sở thì C# mặc định xem lớp cơ sở là object Lớp luôn là kiểu dữ liệu tham chiếu (reference type) trong C# 9
- Khóa truy xuất cho class Khóa (Access modifier) Một class chỉ có 2 khóa truy xuất Internal: chỉ cho phép sử dụng bên trong project ̣ ̀ hiên hanh (default) internal class MyClass { // Class members. } ́ Public: cho phép cac project bên ngoài truy xuất public class MyClass { // Class members. } 10
- Interface là gi? ̀ Interface Interface là 1 tâp hợp cac method và property điên hinh ̣ ́ ̉ ̀ chung nao đó được nhom lai cung nhau để đong goi ̀ ́ ̣ ̀ ́ ́ (encapsulate) 1 chưc năng nao đo. ́ ̀ ́ Interface không chưa mã để thực thi, nó chỉ đinh nghia ́ ̣ ̃ ́ ̀ ̀ ̉ ́ ́ cac thanh phân cua chinh no. Sau khi đinh nghia interface, có thể thực thi nó trong 1 ̣ ̃ class class sẽ hỗ trợ (support) moi property và thanh ̣ ̀ phân được xac đinh trong interface. ̀ ́ ̣ Interfaces cannot exist on their own không thể khởi tao ̣ 1 interface (‘‘instantiate an interface’’) 11
- ̉ ̃ ̀ Biêu diên interface băng UML Biêu 12
- Khai ́ Khai bao interface Khai bao interface cung tương tự như khai bao lớp: ́ ̃ ́ interface IMyInterface { // Interface members. } ́ ́ ́ Cac khoa truy xuât: internal (default), public, không được phep dung astract hay sealed ́ ̀ Tinh kế thừa cua interface cung tương tự như tinh ́ ̉ ̃ ́ kế thừa cua class ̉ public interface IMyInterface : IMyBaseInterface, IMyBaseInterface2 { // Interface members. } 13
- So sanh Interface và class So ́ Tât cả class đêu kế thừa từ lớp cơ sở System.Object theo ́ ̀ ̣ ́ dang cây phân câp (inheritance hierarchy) Interfaces không phai là class, vì vây không kế thừa từ ̉ ̣ System.Object. Không thể khởi tao (instantiate) môt interface như khởi tao ̣ ̣ ̣ 1 class. 14
- Các thành phần của class Các Lớp có thể chứa các phần sau Constructor và destructor Field và constant Method Property Indexer Event Chứa các kiểu khác (nested): class, struct, enumeration, interface và delegate 15
- Constructor Constructor Có cung tên với class, có thể không có tham số nao ̀ ̀ (parameter) và không trả về bât kỳ giá trị nao (kể cả void). ́ ̀ Môi class phai có it nhât 1 constructor. Nêu ban không tao ̃ ̉ ́ ́ ́ ̣ ̣ constructor cho 1 class thỉ compiler sẽ tự đông phat ra 1 ̣ ́ default constructor Cho phép overload constructor để tạo ra nhiều cách khởi tạo đối tượng 16
- ̣ Phân loai Constructor Phân Constructor mặc định Không có tham số Khởi tạo đối tượng từ class khi chưa biết thông tin gì về nó Constructor sao chép Tham số vào là đối tượng cùng lớp Tạo ra đôi tượng như bản sao của đôi tượng đầu vào ́ ́ ̣ ̣ ́ Constructor không măc đinh khac Có một hay nhiều tham số vào Tạo đôi tương khi biết một số thông tin nào về nó ́ 17
- Constructor Constructor class HocSinh { //... public HocSinh() { hoTen = “unknown"; Constructor mặc định namSinh = 1990; diemVan = diemToan = 0; } public HocSinh(HocSinh hs) { hoTen = hs.hoTen; Constructor sao chép namSinh = hs.namSinh; diemVan = hs.diemVan; diemToan = hs.diemToan; } public HocSinh(string ht) Constructor khác { (tạo học sinh khi biết họ tên) hoTen = ht; } } 18
- Constructor Constructor Khai báo private cho constructor sẽ ko cho phép khởi tạo đối tượng Ko thể tạo thể hiện/obj 19
- class Car { // The 'state' of the Car. public string petName; public int currSpeed; // A custom default constructor. public Car() { petName = "Chuck"; A custom default currSpeed = 10; constructor static void Main(string[] args) } { // Here, currSpeed will receive the // Make a Car called Chuck // default value of an int (zero). public Car(string pn) Instance Constructors MPH. going 10 { Car chuck = new Car(); petName = pn; } chuck.PrintState(); // Let caller set the full 'state' of the Car. // Make a Car called Mary going public Car(string pn, int cs) { 0 MPH. petName = pn; Car mary = new Car("Mary"); currSpeed = cs; mary.PrintState(); } .. // Make a Car called Daisy } going 75 MPH. Car daisy = new Car("Daisy", 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 1
24 p | 263 | 101
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 3
39 p | 193 | 73
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 2
24 p | 214 | 73
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 4
39 p | 162 | 68
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 5
24 p | 159 | 56
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 6
38 p | 147 | 55
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 7
35 p | 134 | 54
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 3
21 p | 167 | 53
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 8
39 p | 138 | 53
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 10
30 p | 145 | 51
-
Tự học lập trình cơ sở dữ liệu Visual C .NEt part 9
39 p | 139 | 51
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 4
24 p | 131 | 44
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 6
24 p | 125 | 38
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 5
24 p | 131 | 37
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 7
24 p | 125 | 37
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 9
24 p | 123 | 37
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 8
24 p | 137 | 35
-
Giáo trình lập trình cơ sở dữ liệu với Visual Basic part 10
24 p | 127 | 34
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn