Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
2,49 MB
Nội dung
Bài 2: Lập trình hướngđốitượng & Collection Giới thiệu về .NET và Visual Studio Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C# Kiểu dữ liệu Toán tử Thao tác với chuỗi Cấu trúc điều khiển Phương thức Xử lý ngoại lệ Hệ thống bài cũ Giới thiệu về .NET và Visual Studio Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C# Kiểu dữ liệu Toán tử Thao tác với chuỗi Cấu trúc điều khiển Phương thức Xử lý ngoại lệ Lập trình hướngđốitượng & Collection2 Xây dựng lớp, cấu trúc Tạo và sử dụng đốitượng Xây dựng lớp kế thừa Khái niệm đa hình và sử dụng đa hình Sử dụng các lớp vàđốitượng dựng sẵn Collection Tự sinh mã khai báo Mục tiêu bài học Xây dựng lớp, cấu trúc Tạo và sử dụng đốitượng Xây dựng lớp kế thừa Khái niệm đa hình và sử dụng đa hình Sử dụng các lớp vàđốitượng dựng sẵn Collection Tự sinh mã khai báo Lập trình hướngđốitượng & Collection 3 LỚP, CẤU TRÚC VÀĐỐITƯỢNGLập trình hướngđốitượng & Collection 4 LỚP, CẤU TRÚC VÀĐỐITƯỢNG Định nghĩa lớp Visual Basic Định nghĩa lớp Tạo đốitượng từ lớp C# Public Class Sanpham End Class public class Sanpham { } Định nghĩa lớp Tạo đốitượng từ lớp Lập trình hướngđốitượng & Collection 5 Dim dtSanpham As Sanpham dtSanpham = New Sanpham() Sanpham dtSanpham ; dtSanpham = new Sanpham(); Phương thức khởi tạo Visual Basic Khởi tạo không có tham số Khởi tạo có tham số C# Khởi tạo không có tham số Khởi tạo có tham số Public Sub Sanpham() End Sub public Sanpham() { } Khởi tạo không có tham số Khởi tạo có tham số Khởi tạo không có tham số Khởi tạo có tham số Lập trình hướngđốitượng & Collection 6 Public Sub Sanpham(As Decimal) End Sub public void Sanpham(decimal gia) { } Định nghĩa các trường và phương thức cho lớp Visual Basic Định nghĩa trường Định nghĩa phương thức C# Private soluong As Integer Public gia As Decimal private int soluong; public decimal gia; Định nghĩa trường Định nghĩa phương thức Lập trình hướngđốitượng & Collection 7 Sub hienthi() End Sub public void hienthi() { } Function hienthi() As Integer End Function public int hienthi() { } Điều khiển truy cập Phạm vi public internal protected private Cùng lớp Y Y Y Y Lớp kế thừa Y Y Y N Cùng assembly Y Y N N Khác assembly Y N N N Lập trình hướngđốitượng & Collection 8 Khi build solution, mỗi project trong solution được build thành một assemply Điều khiển truy cập mặc định là private Khác assembly Y N N N Kế thừa SanPham string ma string ten decimal gia string hienThiThongTin() Lớp cơ sở Lập trình hướngđốitượng & Collection 9 Sach string ma string ten decimal gia string hienThiThongTin() string tacgia PhanMem string ma string ten decimal gia string hienThiThongTin() string phienban Lớp dẫn xuất Viết từ khóa virtual trước phương thức có thể sẽ được ghi đè ở các lớp dẫn xuất Tạo lớp cơ sở public class SanPham { public string Ma { get; set; } public string Ten { get; set; } public decimal Gia { get; set; } public SanPham(string ma, string ten, decimal gia) { this.Ma = ma; this.Ten = ten; this.Gia = gia; } public virtual string hienThiThongTin() { return Ma + "\n" + Ten + "\n" + Gia; } } Lập trình hướngđốitượng & Collection 10 public class SanPham { public string Ma { get; set; } public string Ten { get; set; } public decimal Gia { get; set; } public SanPham(string ma, string ten, decimal gia) { this.Ma = ma; this.Ten = ten; this.Gia = gia; } public virtual string hienThiThongTin() { return Ma + "\n" + Ten + "\n" + Gia; } } [...]... cha Lập trình hướngđốitượng & Collection 13 Đa hình Là tính năng quan trọng trong lập trình hướngđốitượng Giúp ứng dụng sẽ ứng xử khác nhau đối với các đốitượng khác nhau kế thừa từ một lớp cơ sở Thường được sử dụng khi không xác định được kiểu của đốitượng lúc chạy Lập trình hướngđốitượng & Collection 14 Demo sử dụng đa hình Sach sach = new Sach("S001", "Lap trinh Winform", "Joel Murach", 20 );... System.Collections System.Collections.Generic System.IO System.Windows.Forms Lập trình hướngđốitượng & Collection 23 Namespaces Xem file NET35_Namespaces_Poster_LORES để biết thêm về các lớp được các lớp được hỗ trợ bởi NET 3.5 Xem file PDC2008-NETFX4 để biết thêm về các lớp mới được NET 4 hỗ trợ Lập trình hướngđốitượng & Collection 24 CẤU TRÚC DATETIME & LỚP STRING Lập trình hướngđốitượng & Collection. .. Gia; } Lập trình hướngđốitượng & Collection 19 Demo khai báo và khởi tạo cấu trúc Khai báo và gán giá trị cho cấu trúc SanPham sp; sp.Ma = "001"; sp.Ten = "Wave RS"; sp.Gia = 20 000000; MessageBox.Show(sp.hienThiThongTin()); Khởi tạo giá trị cho cấu trúc SanPham sp2 = new SanPham("0 02" , "SH", 120 000000); MessageBox.Show(sp2 hienThiThongTin()); Lập trình hướngđốitượng & Collection 20 NAMESPACES Lập. .. 20 NAMESPACES Lập trình hướngđốitượng & Collection 21 Lớp và cấu trúc cài đặt sẵn NET 4.0 cung cấp rất nhiều lớp và cấu trúc cài đặt sẵn Các lớp và cấu trúc này thuộc NET FrameWork Library Các lớp và cấu trúc liên quan đến nhau được nhóm thành một Namespaces Namespaces được tổ chức theo cấu trúc phân cấp Namespaces lớn nhất là Sytem Lập trình hướngđốitượng & Collection 22 Namespaces Một số namespaces... = DateTime.Now; //30/1 /20 10 10 :26 :35 DateTime ngayThangHienTai = DateTime.Today; //30/1 /20 10 12: 00:00 AM int thang = ngayThangHienTai.Day; //1 Lập trình hướngđốitượng & Collection 27 Phương thức của DateTime Phương thức Mô tả addDays(songay) Thêm số ngày vào giá trị kiểu DateTime và trả về giá trị khác kiểu DateTime addMonths(sothang) Thêm số tháng vào giá trị kiểu DateTime và trả về giá trị khác... tenCongTy.IndexOf("Murach"); //5 int index2 = tenCongTy.LastIndexOf(" "); //15 Lập trình hướngđốitượng & Collection 30 MẢNG VÀCOLLECTIONLập trình hướngđốitượng & Collection 31 Mảng Cú pháp khai báo mảng một chiều kieu[] tenMang; tenMang = new kieu[chieuDaiMang] //hoặc keu[] tenMang = new kieu[chieuDaiMang] Ví dụ int[] diem; diem = new int[10]; //hoặc int[] diem = new int[10]; //khai báo và khởi tạo giá trị cho... 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Lập trình hướngđốitượng & Collection 32 Các giá trị mặc định của mảng Kiểu giá trị Giá trị mặc định Số 0 Ký tự (char) '\0' (ký tự null) Boolean False DateTime 01/01/0001 00:00:00 Kiểu tham chiếu null Lập trình hướngđốitượng & Collection 33 Thao tác với mảng Lấy độ dài của mảng int dodai = diem.Length Truy cập đến phần tử của mảng int tong = diem[0] + diem[1] + diem [2] ;... diem.Length; i++) { tong += diem[i]; } Lập trình hướngđốitượng & Collection 34 Mảng hai chiều Khai báo mảng hai chiều kieu[,] tenMang = new kieu[hang, cot] //ví dụ: int[,] diem = new int [3, 2] ; //khai báo và khởi tạo giá trị cho mảng int[,] diem2 = { { 9, 8 }, { 7, 6 }, { 5, 9 } }; Gán giá trị cho các phần tử diem[0, 0] = 8; diem[0, 1] = 9; Lập trình hướngđốitượng & Collection 35 Lớp Array Mỗi mảng... năm vào giá trị kiểu DateTime và trả về giá trị khác kiểu DateTime DaysInMonth(nam, thang) Trả về số ngày có trong 1 tháng năm xác định IsLeapYear(nam) Trả về giá trị Boolean cho biết năm được chỉ ra có phải là năm nhuận hay không DateTime tgianHienTai = DateTime.Now; //30/1 /20 10 10 :26 :35 DateTime tgianMoi = tgianHienTai.AddDays(60); //30/4 /20 10 10 :26 :35 Lập trình hướngđốitượng & Collection 28 Lớp... Các trường, thuộc tính, phương thức, sự kiện và toán hạng Thành viên tĩnhvà thành viên thực thể Lập trình hướngđốitượng & Collection 17 Cấu trúc Hạn chế của cấu trúc so với lớp Không hỗ trợ phương thức khởi tạo không có tham số Không hỗ trợ kế thừa Không hỗ trợ thuộc tính tự khởi tạo Các thành viên chỉ được gọi khi được khởi tạo Lập trình hướngđốitượng & Collection 18 Demo định nghĩa cấu trúc public . trình hướng đối tượng & Collection 3 LỚP, CẤU TRÚC VÀ ĐỐI TƯỢNG Lập trình hướng đối tượng & Collection 4 LỚP, CẤU TRÚC VÀ ĐỐI TƯỢNG Định nghĩa lớp Visual Basic Định nghĩa lớp Tạo đối tượng. lệ Lập trình hướng đối tượng & Collection 2 Xây dựng lớp, cấu trúc Tạo và sử dụng đối tượng Xây dựng lớp kế thừa Khái niệm đa hình và sử dụng đa hình Sử dụng các lớp và đối tượng dựng sẵn Collection Tự. tiêu bài học Xây dựng lớp, cấu trúc Tạo và sử dụng đối tượng Xây dựng lớp kế thừa Khái niệm đa hình và sử dụng đa hình Sử dụng các lớp và đối tượng dựng sẵn Collection Tự sinh mã khai báo Lập