1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình C#

35 192 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài liệu C#
Trường học Leonganuyen.com
Chuyên ngành Lập trình hướng đối tượng
Thể loại Tài liệu học tập
Định dạng
Số trang 35
Dung lượng 1,33 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 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

Trang 1

 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

NameAddressAgeHeightHair color

NameAddress

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àngKiểu xe mua Chấp nhận kiểu xe đặt hàngNgườ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)  ClassMộ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àngKiểu xe muaTên người bánChấp nhận tênChấp nhận địa chỉChấp nhận lọai xe đặt muaChấp nhận tên người bánPhát sinh hóa đơn

Trang 2

 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

 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) của đối tượng.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

Bao Bọc và Che Dấu

Trang 3

 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

Trang 4

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 độngquan 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)

Trang 6

+ Chọn loại ứng dụng:

o Visual C#

Windows

Smart DeviceDatabase

o Visual VBWindowsSmart DeviceDatabase

o Visual C++

+ ATL+ CLR

+ General

+ MFC

+ Smart Device

+ Win32

o Visual J#

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:

Trang 8

* 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.

Trang 9

- 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.

Trang 10

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.

Trang 11

* 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.

Trang 12

- Chọn Unicode (UTF-8).

Close

(Đóng)

Click chuột phải lên Project rồi chọn Remove.

Open (Mở) * Trang Start:

Trang 14

- Chọn thẻ > Double Click lên Project sẽ tham chiếu đến.

5.1.1 DTO, DAO, BUS

Tạo mới (New) - Chọn mục .

5.1.2 Presentation

Tạo mới (New) - Chọn mục .

5.1.3 Item (Thành phần)

Add (Thêm)

C1: Click chọn menu > chọn đối tượng thêm vào:

C2: Click chuột phải lên Project bất kì rồi chọn đối tượng

- Ấn phím Shift + Alt+ C để thêm Lớp.

- Ấn phím Ctrl + Shift+ A để thêm Thành phần mới.

Trang 15

New (Tạo mới)

- Khi đó sẽ xuất hiện hộp thoại New File:

Save (Lưu trữ) * Lưu ứng dụng:

C1: Click chọn nút Save C2: Click chọn menu > chọn Save.

Trang 16

* Lưu với 1 tên khác:

Click chọn menu > chọn Save as.

Close (Đóng)

Click chuột phải lên Project rồi chọn Remove.

Open (Mở) * Trang Start:

* Menu:

- Click chọn menu > chọn Open > chọn:

Trang 17

* Nút công cụ:

Click chọn nút Open File để mở 1 file mã nguồn

Ấn phím Ctrl + O.

Rename (Đổi tên)

- Click chuột phải lên file > chọn Rename.

6 Cấu trúc chương trình (Program Structure)

Giới thiệu

(Intruduction)

- Bản chất của lập trình hướng đối tượng là tạo ra các kiểu mới và được gọi là lớp Một lớp biểu

diễnmột vật gì đó, thể hiện đó 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.

Cú pháp (Syntax)

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;

} } }

Ví dụ (Example) * Viết chương trình:

using System;

Trang 18

using System.Collections.Generic;

using System.Text;

namespace appHello {

class clsHello {

static void Main( string [] args) {

//Đây là chương trình đầu tiên của tôi Console.WriteLine( "Hello the world!" );

Console.ReadLine();

} } }

//Day la chuong trinh dau tien cua toi

Ghi chú theo khối

* Cú pháp:

/* Dòng ghi chú 1 …

7 Giao diện (Interface)

7.1 Nhập (Input), Xuất (Output)

7.1.1 Lệnh xuất ra màn hình

Write

WriteLine

Mục đích (Purpose) - 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.

Mô hình (Model)

Cú pháp (Syntax)

Ghi chú Từng dòng Theo khối

Trang 19

- Là lệnh cho phép ghi nhận từ bàn phím các giá trị thuộc các kiểu dữ liệu khác nhau vào

cho biến

- Khi nhập xong thì ấn phím Enter để kết thúc việc nhập.

Mô hình (Model)

Cú pháp (Syntax)

7.2 Control (Điều khiển)

Trang 20

có thể không cần sử dụng từ khóa new

- Trong Struct có thể định nghĩa các phương thức (giống Class)

- Trong Struct, trình biên dịch luôn luôn cung cấp một constructor không tham số mặc định, và không cho phép thay thế

- Struct không hỗ trợ thừa kế

struct StrHocSinh {

public int MaSo;

public string HoTen;

public double Toan;

public double Van;

public double DTB;

public StrHocSinh(int ms, string ht, double t, double v)

{ MaSo = ms;

Trang 21

14.1.1 DTO (Data Tranfer Object)

{

get { return Tên_Biến; }

set { Tên_Biến = value; }

Trang 22

private string ten;

get { return ten; }

set { ten = value; }

private Kiểu_dữ_liệu Tên_Biến;

private bool Tên_Điều_kiệ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; }

}

public bool Tên_Điều_kiện

{

get { return Tên_Biến; }

set { Tên_Biến = value; }

Trang 23

private string diaChi;

private double toanTu;

private double toanDen;

private double lyTu;

private double lyDen;

private double hoaTu;

private double hoaDen;

private double dtbTu;

private double dtbDen;

private int maLop;

private bool checkNgaySinh;

private bool checkDiaChi;

private bool checkToan;

private bool checkLy;

private bool checkHoa;

private bool checkDTB;

private bool checkLopHoc;

get { return ten; }

set { ten = value; }

}

public DateTime NgaySinhTu

{

get { return ngaySinhTu; }

set { ngaySinhTu = value; }

}

Trang 24

public DateTime NgaySinhDen

{

get { return ngaySinhDen; }

set { ngaySinhDen = value; }

}

public string DiaChi

{

get { return diaChi; }

set { diaChi = value; }

}

public double ToanTu

{

get { return toanTu; }

set { toanTu = value; }

}

public double ToanDen

{

get { return toanDen; }

set { toanDen = value; }

}

public double LyTu

{

get { return lyTu; }

set { lyTu = value; }

}

public double LyDen

{

get { return lyDen; }

set { lyDen = value; }

}

public double HoaTu

{

get { return hoaTu; }

set { hoaTu = value; }

}

public double HoaDen

{

get { return hoaDen; }

set { hoaDen = value; }

}

public double DTBTu

{

get { return dtbTu; }

set { dtbTu = value; }

}

public double DTBDen

{

get { return dtbDen; }

set { dtbDen = value; }

}

public int MaLop

{

Trang 25

set { checkDiaChi = value; }

}

public bool CheckToan

{

get { return checkToan; }

set { checkToan = value; }

}

public bool CheckLy

{

get { return checkLy; }

set { checkLy = value; }

}

public bool CheckHoa

{

get { return checkHoa; }

set { checkHoa = value; }

}

public bool CheckDTB

{

get { return checkDTB; }

set { checkDTB = value; }

}

public bool CheckLopHoc

{

get { return checkLopHoc; }

set { checkLopHoc = value; }

NgaySinhTu = new DateTime(1950, 1, 1);

NgaySinhDen = new DateTime(1997, 1, 1);

Trang 26

{

// Tạo chuỗi kết nối

string Chuỗi_kết_nối = "…";// Tạo đối tượng kết nốiOleDbConnection Đối_tượng_kết_nối = new OleDbConnection(Chuỗi_kết_nối);

// Mở kết nốiĐối_tượng_kết_nối.Open();

// Trả đối tượng kết nốireturn Đối_tượng_kết_nối;

OleDbCommand Đối_tượng_Command = new OleDbCommand(Chuỗi_SQL, Đối_tượng_kết_nối);

OleDbDataReader Đối_tượng_DataReader = Đối_tượng_Command.ExecuteReader();

ArrayList Đối_tượng_Danh_sách = new ArrayList();

Lớp_DTO Đối_tượng_DTO = new 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

Trang 27

OleDbDataAdapter Đối_tượng_DataAdapter = new OleDbDataAdapter(Chuỗi_SQL, Đối_tượng_kết_nối);

DataTable Đối_tượng_Bảng = new DataTable();

Đối_tượng_DataAdapter.Fill(Đối_tượng_Bảng);

// Đóng kết nốiĐối_tượng_kết_nối.Close();

// Trả về đối tượng danh sáchreturn Đối_tượng_Bảng;

}

//Phương thức Cập nhật bảng public void CapNhatBang(DataTable Đối_tượng_Bảng)

OleDbDataReader Đối_tượng_DataReader = Đối_tượng_Command.ExecuteReader();

Lớp_DTO Đối_tượng_DTO = new 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"];

Trang 28

return Đối_tượng_DTO;

}

//Phương thức Thêm public void Them(Lớp_DTO Đối_tượng_DTO)

Chuỗi_SQL = "SELECT @@IDENTITY";

Đối_tượng_Command = new OleDbCommand(Chuỗi_SQL, Đối_tượng_kết_nối);

Đối_tượng_DTO.Thuộc_tính_Mã = (Kiễu_dữ_liệu)Đối_tượng_Command.ExecuteScalar();

// Đóng kết nối

Đối_tượng_kết_nối.Close();

}

// Phương thức Xóa public void Xoa(Kiễu_dữ_liệu Mã)

Đối_tượng_Command.Parameters["@Cột_Mã "].Value = Đối_tượng_DTO

Trang 29

public OleDbConnection ConnectionData()

{

// Tạo chuỗi kết nối

string cnStr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = TruongHoc.mdb";

// Tạo đối tượng kết nối và mở kết nối

OleDbConnection cn = new OleDbConnection(cnStr);

//Phương thức Lấy danh sách điền vào ComboBox, DataGrid

public IList LayDanhSach()

LopHocDTO lh = new LopHocDTO();

ArrayList ds = new ArrayList();

while (dr.Read())

{

lh = new LopHocDTO();

lh.Ma = (int)dr["Ma"];

lh.Ten = (string)dr["Ten"];

OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);

DataTable dt = new DataTable();

Trang 30

OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);

OleDbCommandBuilder cb = new OleDbCommandBuilder(da);

OleDbCommand cmd = new OleDbCommand(strSQL, cn);

cmd.Parameters.Add("@Ma", OleDbType.Integer);

cmd.Parameters["@Ma"].Value = maLop;

OleDbDataReader dr = cmd.ExecuteReader();

LopHocDto lhDto = new LopHocDto();

while (dr.Read())

{

lhDto.Ma = (int)dr["Ma"];

lhDto.Ten = (string)dr["Ten"];

OleDbCommand cmd = new OleDbCommand(strSQL, cn);

cmd.Parameters.Add("@Ten", OleDbType.WChar);

Trang 31

public void Sua(LopHocDto lhDto)

OleDbCommand cmd = new OleDbCommand(strSQL, cn);

cmd.Parameters.Add("@Ten", OleDbType.WChar);

cmd.Parameters.Add("@Ma", OleDbType.Integer);

cmd.Parameters["@Ten"].Value = lhDto.Ten;

cmd.Parameters["@Ma"].Value = lhDto.Ma;

// Trả về đối tượng Danh sách return Đối_tượng_danh_sách;

}

//Phương thức Lấy bảng public DataTable LayBang()

{ // Khai báo Đối tượng lớp DAO

LớpDAO Đối_tượng_DAO = new LớpDAO();

// Lấy Bảng

DataTable Đối_tượng_Bảng = Đối_tượng_DAO.LayBang();

// Trả về đối tượng Bảng

Trang 32

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 = new LớpDAO();

// Tìm kiếm LớpDTO Đối_tượng_DTO = Đối_tượng_DAO.TimKiem(Mã);

// Trả về Đối tượng DTO

return Đối_tượng_DTO;

}

//Phương thức Thêm public void Them(Lớp_DTO Đối_tượng_DTO)

{

// Kiểm tra Đối tượng DTO

if ((Đối_tượng_DTO.Thuộc_tính So_sánh Giá_trị))

{

throw new Exception("Lỗi");

}

// Khai báo Đối tượng lớp DAO

LớpDAO Đối_tượng_DAO = new LớpDAO();

// Thêm

Đối_tượng_DAO.Them(Đối_tượng_DTO);

}

//Phương thức Xóa public void Xoa(Kiễu_dữ_liệu Mã)

{

// Khai báo Đối tượng lớp DAO

LớpDAO Đối_tượng_DAO = new LớpDAO();

// Xóa

Đối_tượng_DAO.Xoa(Mã);

}

//Phương thức Sửa public void Sua(Lớp_DTO Đối_tượng_DTO)

{

// Khai báo Đối tượng lớp DAO

LớpDAO Đối_tượng_DAO = new LớpDAO();

Ngày đăng: 04/01/2014, 11:00

Xem thêm

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w