Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
821,67 KB
Nội dung
Tàiliệu C#
1. Lập trình hướng đối tượng (OOP)
Objective (Mục tiêu)
Object Oriented Programming (Lập trình hướng đối tượng)
Data Abstraction (Trừu tượng hóa dữ liệu )
Class and Object (Lớp và đối tượng)
Construction và Destruction (Phương thức thiết lập và hủy)
Persistence, Data encapsulation, Inheritance và Polymorphism (Tính bền vững, Bao
bọc, kế thừa và đa hình)
Thuận lợi.
Object Oriented
Programming
(Lập trình hướng đối
tượng)
Phương pháp thiết kế và hiện thực các hệ thống phần mềm.
Đặt trọng tâm vào đối tượng.
Đối tượng bao hàm: hành vi và thuộc tính.
- Đối tượng giao tiếp thông qua thông điệp.
Data Abstraction
(Trừu tượng hóa dữ
liệu )
Cho phép quản lí tốt hơn các chương trình phức tạp
Functions & Procedures
Modules
Abstract Data Types
Class/Objects
Data Abstract cho phép
Mở rộng ngôn ngữ : Định nghĩa thêm kiểu
Chế tác các thể hiện dữ liệu khác nhau
Các đặc trưng của Person Các đặc trưng của Customer
Name
Address
Age
Height
Hair color
Name
Address
Thuộc tính Hành động
Tên khách hàng Chấp nhận tên khách hàng
Địa chỉ khách hàng Chấp nhận địa chỉ khách hàng
Kiểu xe mua Chấp nhận kiểu xe đặt hàng
Người bán (saleman) Chấp nhận tên người bán
Phát sinh hóa đơn
Data Abstraction là quá trình nhận diện và nhóm dữ liệu và hành động có liên quan tới
một thực thể riêng biệt .
Thuận lợi:
Nhận diện các đặt trưng và hành động thiết yếu
Giúp lọai trừ những chi tiết không cần thiết.
Class and Object
(Lớp và đối tượng)
Class
Một Class định nghĩa như là một bản mẫu hay một kiểu chung về một lọai đối tượng
nào đó theo thuộc tính và hành vi.
Class Customer
Tên khách hàng
Địa chỉ khách hàng
Kiểu xe mua
Tên người bán
Chấp nhận tên
Chấp nhận địa chỉ
Chấp nhận lọai xe đặt mua
Chấp nhận tên người bán
Phát sinh hóa đơn
Class/Object
Message Passing
Generalization/Specialization
Polymorphism
leonguyen.com
1
Tài liệu C#
Relationships: Associations, Aggregations
Behaviors
Rules
Object
Một Object là sự thể hiện của class.
Ví dụ:
Stephen
Boston
Opel Astra
Robin
Stephen là một Object của class Customer.
Attribute
o Những đặc trưng mô tả đối tượng.
Operation
o Là một dịch vụ hoặc một hàm đuợc cung cấp bởi mọi thể hiện của một
lớp đối tượng.
Method
o Diễn tả cách thức mà một đối tượng vận động, phản ứng
Message
o Yêu cầu cho một operation
Event
o Tác nhân được gởi từ một object to object khác.
So Sánh Class và Object
Class định nghĩa một thực thể, trong khi một object là một thực thể thực sự.
Class là một mô hình ý niệm,định nghĩa tất cả đặt trưng và hành động của một
object, trong khi đối tượng là một mô hình thực.
Class là một prototype của một object.
Tất cả object thuộc về một class đều có đặt trưng và hành động giống nhau.
Construction và
Destruction (Phương
thức thiết lập và hủy)
Construction (Phương thức thiết lập)
A Constructor:
Cấp phát bộ nhớ.
Khởi tạo thuộc tính.
Cho phép truy xuất các thuộc tính và phương thức.
Destruction (Phương thức hủy bỏ)
Quá trình xóa một đối tượng.
A Destructor:
Giải phóng không gian cấp phát.
Cấm truy xuất các thuộc tính và phương thức.
Tính bền vững
(Persistence)
Tính bền vững là một khả năng của đối tượng để lưu trữ dữ liệu trong thời gian sống
của đối tượng.
Bao Bọc và Che Dấu
Thông tin
(Encapsulation and
information hiding)
Quá trình che dấu sự hiện thực chi tiết của một đối tượng từ user được gọi là
Encapsulation.
Nguyên tắc bao bọc dữ liệu ngăn cấm truy nhập trực tiếp gọi là sự che dấu thông tin
Thuận lợi:
Tất cả thuộc tính và phương thức được yêu cầu thực hiện một công việc có
thể được khởi tạo.
Chỉ những thuộc tính và/hoặc phương thức được truy xuất bởi cái khác được
hiện rõ.
Tất cả những gì thấy được của đối tượng đã được đóng gói là các phương thức giao
tiếp (interface) của đối tượng.
Tính thừa kế
(Inheritance)
Cách tổ chức các Classes
leonguyen.com
2
Tài liệu C#
Inheritance
Cơ chế cho phép một lớp chia sẽ các thuộc tính và thao tác được định nghĩa
trong một hay nhiều lớp.
Subclass
Là một class thừa kế từ một class khác.
Super class
Là một class mà từ đó một class khác thừa kế những hành vi của nó.
Multiple Inheritance
Là một class con thừa kế từ một hay nhiều lớp.
Tính Đa Hình
(Polymorphism)
Tính đa hình là một thao tác có thể được cài đặt khác nhau trong cùng một lớp hay
trong những lớp khác nhau.
leonguyen.com
Vehicle
Automobile Motorcycle Bus
Sedan Sports Car School BusLuxury Bus
3
Tài liệu C#
Các bước thiết kế
Thiết kế và coding
Thiết kế
Định nghĩa vấn đề.
Thiết kế các đối tượng
Phát triển các giải thuật cho các phương thức
của đối tượng.
Mô tả giải thuật, dùng pseudocode
Viết code
Kiểm tra code
Debug
Những thuận lợi
Khả năng đối phó với những ứng dụng thuộc lọai khó.
Nâng cao tính nhất quán giữa phân tích, thiết kế và lập trình.
Nâng cao chia sẽ trong ứng dụng.
Tính dùng lại của những kết quả phân tích thiết kế và lập trình.
Giảm bớt các lỗi.
Sự thay đổi nhanh hơn.
Tổng kết
Phương pháp Object-oriented cho phép giải quyết hầu hết các vấn đề.
Sự trừu tượng dữ liệu là quá trình nhận diện và nhóm các thuộc tính và hành động
quan hệ tới một thực thể cụ thể.
Class định nghĩa một thực thể, trong khi một object là một thực thể thực sự.
Construction và Destruction
Persistence, Data encapsulation, Inheritance và Polymorphism
Câu hỏi
Các đối tượng trong thế giới thực chứa ___ và ___.
Một trạng thái của đối tượng được lưu trữ trong ___.
Một hành vi của đối tượng được phơi bày thông qua ___.
Các dữ liệu nội tại được che đậy từ thế giới bên ngòai và chỉ truy xuất qua phương
thức được biết như dữ liệu ___.
Bản thiết kế cho một đối tượng phần mềm được gọi là ___.
Hành vi chung, phổ biến có thể được định nghĩa trong ___ và được thừa kế vào ___
Một tập phương thức với không hiện thực được gọi là ___.
2. Giới thiệu (Introduction)
3. Cài đặt (Setup)
3.1. Visual Studio C#
4. Cửa sổ làm việc (Window)
4.1. Khởi động (Open),Thoát (Exit)
Khởi động
(Open)
- Click chọn nút > chọn > chọn Microsoft Visual Studio 2005 > chọn Microsoft
Visual Studio 2005 .
leonguyen.com
4
Tài liệu C#
Thoát (Exit)
- Click menu > chọn Exit.
4.2. Giao diện (Interface)
Giao diện
(Interface)
5. Ứng dụng (Solution)
Tạo mới
(New)
* Trang Start:
- Click chọn mục .
* Nút công cụ:
- Click chọn nút New Project > chọn New Project để tạo ứng dụng Desktop.
* Menu:
- Click chọn menu > chọn New > chọn Project để tạo ứng dụng Desktop.
leonguyen.com
5
Tài liệu C#
Ấn phím Ctrl + Shift + N.
- Khi đó xuất hiện Hộp thoại New Project:
+ Chọn loại ứng dụng:
o Visual C#
Windows
Smart Device
Database
o Visual VB
Windows
Smart Device
Database
o Visual C++
+ ATL
+ CLR
+ General
+ MFC
+ Smart Device
+ Win32
o Visual J#
leonguyen.com
6
Tài liệu C#
+ Chọn hộp để tạo một
Project trong Solution mới.
+ Click chuột phải lên Solution trong khung bên phải để thêm một Project cho Solution này:
+ Chọn vị trí lưu trữ và đặt tên ứng dụng ở hộp
.
+ Chọn ngôn ngữ lập trình ở hộp .
- Sau đó ứng dụng được tạo ra như sau:
Lưu trữ
(Save)
* Lưu ứng dụng:
C1: Click chọn nút Save .
leonguyen.com
7
Tài liệu C#
C2: Click chọn menu > chọn Save.
Ấn phím Ctrl + S.
* Cập nhật ứng dụng hiện tại: Giống lưu ứng dụng.
* Cập nhật tất cả ứng dụng:
C1: Click chọn nút Save All .
C2: Click chọn menu > chọn Save All.
Ấn phím Ctrl + Shift + S.
* Lưu với 1 tên khác:
Click chọn menu > chọn Save as.
Đóng
(Close)
Click chọn menu > chọn Close Solution.
leonguyen.com
8
Tài liệu C#
Mở
(Open)
* Trang Start:
- Click chọn mục .
* Menu:
- Click chọn menu > chọn Open > chọn:
+
Project/Solution để mở ứng dụng Desktop.
Ấn phím Ctrl + Shift + O.
+ Web Site để mở ứng dụng Web.
* Nút công cụ:
Click chọn nút Open File để mở 1 file mã nguồn.
Ấn phím Ctrl + O.
Run
(Chạy)
- Biên dịch kiểu debug có kèm thông tin debug:
Ấn phím F5.
- Biên dịch kiểu release không kèm thông tin debug:
Ấn phím Ctrl + F5.
Gỡ lỗi
(Debug)
- Chèn dấu break point:
Ấn phím F9.
- Đi vào phân tích 1 hàm (Chỉ phân tích những hàm ta viết, không phân tích hàm có sẵn):
Ấn phím F10.
- Duyệt qua 1 hàm:
Ấn phím F11.
- Dùng cửa sổ Watch để theo dõi giá trị mong muốn và thực tế.
- Thôi không phân tích 1 hàm hay nhảy đến dấu break point:
Ấn phím Shift + F11.
leonguyen.com
9
Tài liệu C#
5.1. Dự án (Project)
New (Tạo
mới)
* Trang Start:
- Click chọn mục .
* Nút công cụ:
- Click chọn nút New Project > chọn New Project để tạo ứng dụng Desktop.
* Menu:
- Click chọn menu > chọn New > chọn Project để tạo ứng dụng Desktop.
Ấn phím Ctrl + Shift + N.
- Khi đó xuất hiện Hộp thoại New Project:
+ Chọn hộp để tạo một
Project trong Solution cũ.
+ Click chuột phải lên Solution trong khung bên phải để thêm một Project cho Solution này:
Save (Lưu
trữ)
* Lưu ứng dụng:
C1: Click chọn nút Save .
C2: Click chọn menu > chọn Save.
Ấn phím Ctrl + S.
leonguyen.com
10
[...].. .Tài liệuC# * Cập nhật ứng dụng hiện tại: Giống lưu ứng dụng * Cập nhật tất cả ứng dụng: C1: Click chọn nút Save All C2: Click chọn menu > chọn Save All Ấn phím Ctrl + Shift + S * Lưu với 1 tên khác: Click chọn menu > chọn Save as * Lưu với mã Unicode: - Chọn Apply to all documents > chọn nút Save with other encoding leonguyen.com 11 TàiliệuC# - Chọn Unicode (UTF-8) Click... Web Site để mở ứng dụng Web leonguyen.com 12 TàiliệuC# * Nút công cụ: Click chọn nút Open File để mở 1 file mã nguồn Ấn phím Ctrl + O - Click chuột phải lên Project > chọn Rename Rename (Đổi tên) - Click chuột phải lên Project > chọn Build Build (Biên dịch) Tham chiếu (Reference) leonguyen.com - Click chuột phải lên Project > chọn Add Reference 13 TàiliệuC# - Chọn thẻ > Double Click lên Project sẽ... All C2: Click chọn menu > chọn Save All Ấn phím Ctrl + Shift + S leonguyen.com 15 TàiliệuC# * Lưu với 1 tên khác: Click chọn menu > chọn Save as Click chuột phải lên Project rồi chọn Remove Close (Đóng) Open (Mở) * Trang Start: - Click chọn mục * Menu: - Click chọn menu leonguyen.com > chọn Open > chọn: 16 TàiliệuC# * Nút công cụ: Click chọn nút Open File để mở 1 file mã nguồn Ấn phím Ctrl + O... thế - Struct không hỗ trợ thừa kế struct StrHocSinh { public int MaSo; public string HoTen; 19 TàiliệuC# public double Toan; public double Van; public double DTB; public StrHocSinh(int ms, string ht, double t, double v) { MaSo = ms; HoTen = ht; Toan = t; Van = v; DTB = (t+ v)/2; } } leonguyen.com 20 TàiliệuC# 14 Lớp (Class) 14.1 3 Layer 14.1.1 DTO (Data Tranfer Object) using System; using System.Collections.Generic;... //Biến private Kiểu_dữ _liệu Tên_Biến; //Thuộc tính public Kiểu_dữ _liệu Tên_Thuộc_tính { get { return Tên_Biến; } set { Tên_Biến = value; } } Cú pháp //Phương thức khởi tạo public Tên_LớpDTO() { Tên_Biến = Giá_trị_khởi_tạo; … } Ví dụ } } using System; using System.Collections.Generic; using System.Text; namespace DTO { public class LopHocDTO { private int ma; leonguyen.com 21 Tài liệu C# private string ten;... Lớp_DTO(); while (Đối_tượng_DataReader.Read()) { Đối_tượng_DTO.Thuộc_tính_Mã = (Kiểu_dữ _liệu) Đối_tượng_DataReader["Cột_Mã"]; Đối_tượng_DTO.Thuộc_tính_Khác = (Kiểu_dữ _liệu) Đối_tượng_DataReader["Cột_Khác"]; } // Đóng kết nối Đối_tượng_DataReader.Close(); Đối_tượng_kết_nối.Close(); // Trả về đối tượng DTO leonguyen.com 27 Tài liệu C# } return Đối_tượng_DTO; //Phương thức Thêm public void Them(Lớp_DTO Đối_tượng_DTO)... pháp (Syntax) Ví dụ (Example) leonguyen.com - Là lệnh cho phép in ra màn hình các giá trị thuộc các kiểu dữ liệu khác nhau - Cùng dòng: Console.Write(Biểu_thức_1,…,Biểu_thức_n); - Xuống dòng: Console.WriteLine(Biểu_thức_1,…,Biểu_thức_n); Console.WriteLine("{0} + {1} = {2}", i, j, i + j); 18 Tài liệu C# Escape Sequence Character \' \" Double quote \\ Backslash \0 Null \a Alert \b Backspace \f Form feed... Lớp_DTO(); while (Đối_tượng_DataReader.Read()) { Đối_tượng_DTO = new Lớp_DTO(); Đối_tượng_DTO.Thuộc_tính = (Kiểu_dữ _liệu) Đối_tượng_DataReader Reader["Tên_Cột"]; Đối_tượng_Danh_sách.Add(Đối_tượng_DTO); } // Đóng kết nối Đối_tượng_kết_nối.Close(); // Trả về đối tượng Danh sách leonguyen.com 26 Tài liệu C# } return Đối_tượng_danh_sách; //Phương thức Lấy bảng public DataTable LayBang() { // Kết nối OleDbConnection... của lớp được gọi là đối tượng - Giống với các ngôn ngữ lập trình hướng đối tượng khác, một kiểu trong C# cũng định nghĩa bằng từ khoá class using Bộ_khung; namespace Tên_Ứng_dụng { class Tên_lớp { static void Main(string[] args) { //Ghi chú; Câu_lệnh; } } } * Viết chương trình: using System; 17 TàiliệuC# using System.Collections.Generic; using System.Text; namespace appHello { class clsHello { static... Đối_tượng_DAO.LayBang(); // Trả về đối tượng Bảng leonguyen.com 31 Tài liệu C# } return Đối_tượng_Bảng; //Phương thức Cập nhật Bảng public void CapNhatBang(DataTable Đối_tượng_Bảng) { // Khai báo Đối tượng lớp DAO LớpDAO Đối_tượng_DAO = new LớpDAO(); // Cập nhật Bảng hsDAO.CapNhatBang(dt); } //Phương thức Tìm kiếm public Lớp_DTO TimKiem(Kiểu_dữ _liệu Mã) { // Khai báo Đối tượng lớp DAO LớpDAO Đối_tượng_DAO . Tài liệu C# 1. Lập trình hướng đối tượng (OOP) Objective (Mục tiêu) Object Oriented Programming (Lập trình hướng đối tượng) Data Abstraction (Trừu tượng hóa dữ liệu ) Class. để tạo ứng dụng Desktop. leonguyen.com 5 Tài liệu C# Ấn phím Ctrl + Shift + N. - Khi đó xuất hiện Hộp thoại New Project: + Chọn loại ứng dụng: o Visual C# Windows Smart Device Database o Visual. (interface) của đối tượng. Tính thừa kế (Inheritance) Cách tổ chức các Classes leonguyen.com 2 Tài liệu C# Inheritance Cơ chế cho phép một lớp chia sẽ các thuộc tính và thao tác được định nghĩa