bai 2 - khai niem co ban c#

Post on 12-Jun-2015

884 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Khái niệm cơ bản C#Khái niệm cơ bản C#

Trần Anh Tuấn ATrần Anh Tuấn A

Nội dung Nội dung

Giới thiệu C#Giới thiệu C# Chủ đề nâng cao trong C#Chủ đề nâng cao trong C#

Những cơ sở ngôn ngữ C#Những cơ sở ngôn ngữ C# Lớp và đối tượngLớp và đối tượng Thừa kế và đa hìnhThừa kế và đa hình Cấu trúcCấu trúc Giao diệnGiao diện Array , Indexer , và CollectionArray , Indexer , và Collection ChuỗiChuỗi Xử lý lỗi & exception (biệt lệ)Xử lý lỗi & exception (biệt lệ) Delegate và EventDelegate và Event

Giới thiệu C#Giới thiệu C#

Được phát triển bởi đội ngũ kỹ sư của Được phát triển bởi đội ngũ kỹ sư của Microsoft. Dẫn đầu là : Anders Hejlsberg và Microsoft. Dẫn đầu là : Anders Hejlsberg và Scott WiltamuthScott Wiltamuth

C# là một ngôn ngữ :C# là một ngôn ngữ : Đơn giảnĐơn giản Hiện đạiHiện đại Hướng đối tượngHướng đối tượng Mạnh mẽ & Mềm dẻoMạnh mẽ & Mềm dẻo Ít từ khoáÍt từ khoá

Giới thiệu C#Giới thiệu C#

C# là một ngôn ngữ đơn giản : C# là một ngôn ngữ đơn giản : Loại bỏ những phức tạp có trong Java hay C++ như Loại bỏ những phức tạp có trong Java hay C++ như

macro , template , đa kế thừa , virtual base classmacro , template , đa kế thừa , virtual base class Giống về diện mạo cú pháp C và C++ nhưng được Giống về diện mạo cú pháp C và C++ nhưng được

cải tiến đơn giản hơn (Ví dụ : “:: , . , cải tiến đơn giản hơn (Ví dụ : “:: , . , ” chỉ còn “.”” chỉ còn “.” C# là một ngôn ngữ hiện đại :C# là một ngôn ngữ hiện đại :

Có đầy đủ các tính năng : Xử lý ngoại lệ , thu gom Có đầy đủ các tính năng : Xử lý ngoại lệ , thu gom bộ nhớ tự động , kiểu dữ liệu an toàn, bảo mật mã bộ nhớ tự động , kiểu dữ liệu an toàn, bảo mật mã nguồn…nguồn…

Giới thiệu C#Giới thiệu C#

C# là ngôn ngữ hướng đối tượng :C# là ngôn ngữ hướng đối tượng : Đóng gói (encapsulation)Đóng gói (encapsulation) Kế thừa (inheritance)Kế thừa (inheritance) Đa hình (polymorphism)Đa hình (polymorphism)

C# là một ngôn ngữ mạnh mẽ và mềm dẻo :C# là một ngôn ngữ mạnh mẽ và mềm dẻo : Tuỳ thuộc vào bản thân người dùng. Không có giới Tuỳ thuộc vào bản thân người dùng. Không có giới

hạn ở bản chất ngôn ngữ.hạn ở bản chất ngôn ngữ. Tạo các ứng dụng đồ hoạ, bàn tính, xử lý văn bản, Tạo các ứng dụng đồ hoạ, bàn tính, xử lý văn bản,

trình biên dịch cho các ngôn ngữ khác v.v…trình biên dịch cho các ngôn ngữ khác v.v…

Giới thiệu C#Giới thiệu C#

C# có ít từ khoá :C# có ít từ khoá :

Những cơ sở ngôn ngữ C#Những cơ sở ngôn ngữ C#

Các ghi chú : // (1 dòng) , /* (nhiều dòng) */Các ghi chú : // (1 dòng) , /* (nhiều dòng) */ #region :#region :

Từ khoá using : giúp sử dụng lớp có sẵn của không gian Từ khoá using : giúp sử dụng lớp có sẵn của không gian tên nào đó tiện lợi hơntên nào đó tiện lợi hơn VD : using System.IO; VD : using System.IO; Từ đó sử dụng được các lớp làm Từ đó sử dụng được các lớp làm

việc với luồng dữ liệu , tập tin , thư mục ổ đĩa v.v…việc với luồng dữ liệu , tập tin , thư mục ổ đĩa v.v… Ứng dụng dạng console:Ứng dụng dạng console:

Nhập : string sInput ;Nhập : string sInput ; sInput = System.Console.ReadLine();sInput = System.Console.ReadLine();

(chuyển kiểu : System.Convert.To????(sInput) )(chuyển kiểu : System.Convert.To????(sInput) ) Xuất :Xuất :

System.Console.WriteLine(“KQ = {0}”, sInput);System.Console.WriteLine(“KQ = {0}”, sInput);

Những cơ sở ngôn ngữ C#Những cơ sở ngôn ngữ C#

Phân biệt chữ hoa chữ thườngPhân biệt chữ hoa chữ thường Có các kiểu :Có các kiểu :

Dựng sẵn : byte , char , sbyte , int , float , double…Dựng sẵn : byte , char , sbyte , int , float , double… Hằng : const int PI = 3.1416;Hằng : const int PI = 3.1416; Liệt kê : enum Ngay {Hai,Ba,Tu,Nam,Sau,Bay,CN};Liệt kê : enum Ngay {Hai,Ba,Tu,Nam,Sau,Bay,CN};

Câu lệnh : if else , switch , for , while , gotoCâu lệnh : if else , switch , for , while , goto foreach : vòng lặp để duyệt tất cả các phần tử của mảng , tập foreach : vòng lặp để duyệt tất cả các phần tử của mảng , tập

hợphợpVD : int[] intarray; intarray = new int[5];VD : int[] intarray; intarray = new int[5];

foreach(int i in intarray) foreach(int i in intarray)

Console.WriteLine(i.ToString());Console.WriteLine(i.ToString());

Những cơ sở ngôn ngữ C#Những cơ sở ngôn ngữ C#

Tạo vùng tênTạo vùng tên

(namespace)(namespace)

Lớp và đối tượngLớp và đối tượng

Khai báo , tạo dựng và sử dụng lớp Khai báo , tạo dựng và sử dụng lớp

Lớp và đối tượngLớp và đối tượng

Phương thức thiết lập (Constructor)Phương thức thiết lập (Constructor) Phương thức thiết lập sao chépPhương thức thiết lập sao chép Phương thức huỷPhương thức huỷ Sử dụng using Sử dụng using

( hàm huỷ tự đông ( hàm huỷ tự đông

gọi trong thời gian gọi trong thời gian

sớm nhất)sớm nhất)

Lớp và đối tượngLớp và đối tượng

Tham chiếuTham chiếu Trong lớp TimeTrong lớp Time

Sử dụngSử dụng

Lớp và đối tượngLớp và đối tượng

Đóng gói dữ liệu với PropertyĐóng gói dữ liệu với Property Lớp người có chuỗi m_sHotenLớp người có chuỗi m_sHoten Cài đặt Property HoTenCài đặt Property HoTen

Sử dụng PropertySử dụng PropertyNguoi A = new Nguoi();Nguoi A = new Nguoi();

A.HoTen = “Tran Anh Tuan”;A.HoTen = “Tran Anh Tuan”;

string tentoi = A.HoTen;string tentoi = A.HoTen;

Thừa Kế & Đa HìnhThừa Kế & Đa Hình

Thừa kế : “:” Đa Hình : “virtual”Thừa kế : “:” Đa Hình : “virtual” Boxing & UnBoxingBoxing & UnBoxing

Boxing : chuyển đổi kiểu giá trị thành kiểu ObjectBoxing : chuyển đổi kiểu giá trị thành kiểu Object UnBoxing : Trả kết quả một đối tượng về giá trịUnBoxing : Trả kết quả một đối tượng về giá trị

Cấu TrúcCấu Trúc

Cách dùng :

Location loc

= new Location(200,300);

Console.WriteLine(“KQ = {0}”, loc );

Giao diệnGiao diện

Tạo một giao diện Tạo một giao diện

Mở rông giao diện & Kết hợp giao diệnMở rông giao diện & Kết hợp giao diện

Giao diệnGiao diện

Cách sử dụng :Cách sử dụng :

Toán tử is : kiểm tra xem đối tượng có được Toán tử is : kiểm tra xem đối tượng có được hỗ trợ giao diện hay không (VD doc is hỗ trợ giao diện hay không (VD doc is IStorable)IStorable)

Toán tử as : Kiểm tra và gán Toán tử as : Kiểm tra và gán

Array , Indexer , và CollectionArray , Indexer , và Collection

Array : Array :

Sử dụng lớp System.Array Sử dụng lớp System.Array (sẽ được hỗ trợ rất (sẽ được hỗ trợ rất nhiều các tính năng khác như :copy , sort , inverse…)nhiều các tính năng khác như :copy , sort , inverse…)

Indexer : Indexer : tương tự như Property nhưng là lấy theo index tương tự như Property nhưng là lấy theo index

Cách dùng :

Array , Indexer , và CollectionArray , Indexer , và Collection

.Net Framework cung cấp một số giao diện .Net Framework cung cấp một số giao diện chuẩn sau :chuẩn sau :

ChuỗiChuỗi

Khai báo :Khai báo :

ToString() : chuyển mọi kiểu về string (Object)ToString() : chuyển mọi kiểu về string (Object) Ghép chuỗi : “+” (VD : string s = b + “,” +c;)Ghép chuỗi : “+” (VD : string s = b + “,” +c;) Lấy ký tự thứ i: s[i]; Lấy ký tự thứ i: s[i]; Lấy chiều dài : s.lengthLấy chiều dài : s.length Chuỗi con : s.Substring(begin,end);Chuỗi con : s.Substring(begin,end); Thay thế : s.Replace( chuoi1 , chuoi2 )Thay thế : s.Replace( chuoi1 , chuoi2 )

ChuỗiChuỗi

Định dạng chuỗiĐịnh dạng chuỗi

Các thành viên lớp stringCác thành viên lớp string Compare() so sánh hai chuỗiCompare() so sánh hai chuỗi Copy() tạo bản saoCopy() tạo bản sao Insert() chèn chuỗiInsert() chèn chuỗi Split() cắt chuỗi v.v….Split() cắt chuỗi v.v…. Trim(), TrimEnd(),TrimStart() Trim(), TrimEnd(),TrimStart() ToUpper() , ToLower() v.v….ToUpper() , ToLower() v.v….

Xử lý lỗi & exception (biệt lệ)Xử lý lỗi & exception (biệt lệ)

Exception chứa các thông tin về sự cố bất Exception chứa các thông tin về sự cố bất thường của chương trìnhthường của chương trình

Phân biệt bug , error , và exceptionPhân biệt bug , error , và exception Chương trình dù đã không còn bug hay error Chương trình dù đã không còn bug hay error

vẫn có thể cho ra các exception ( truy cập , bộ vẫn có thể cho ra các exception ( truy cập , bộ nhớ )nhớ )

Có thể dùng các đối tượng exception có sẵn , Có thể dùng các đối tượng exception có sẵn , tự tạo exception , hay bắt exception trong tự tạo exception , hay bắt exception trong exception (trong trường hợp sửa lỗi )exception (trong trường hợp sửa lỗi )

Xử lý lỗi & exception (biệt lệ)Xử lý lỗi & exception (biệt lệ)

Cấu trúc xử lý lỗiCấu trúc xử lý lỗi

Xử lý lỗi & exception (biệt lệ)Xử lý lỗi & exception (biệt lệ)

Đối tượng Exception :Đối tượng Exception :

Tạo biệt lệ :Tạo biệt lệ :

Delegate và EventDelegate và Event

Delegate ( ủy thác , ủy quyền ) : giúp giải Delegate ( ủy thác , ủy quyền ) : giúp giải quyết vấn đề muốn thực thi một phương thức quyết vấn đề muốn thực thi một phương thức nào đó của một đối tượng nào đó nhưng người nào đó của một đối tượng nào đó nhưng người lập trình có thể chưa rõ lúc thiết kế. lập trình có thể chưa rõ lúc thiết kế.

Một delegate chứa tham chiếu tới hàmMột delegate chứa tham chiếu tới hàm Cách khai báoCách khai báo

Access Modifier delegate [void] DelegateName(…)

Event : Ứng với mỗi thao tác người dùng sẽ có một Event : Ứng với mỗi thao tác người dùng sẽ có một sự kiện phát sinh , và chương trình sẽ phải đáp trả cho sự kiện phát sinh , và chương trình sẽ phải đáp trả cho mỗi sự kiện này.mỗi sự kiện này.

Khái niệm Publishing và SubcribingKhái niệm Publishing và Subcribing Publishing : Một lớp phát sinh sự kiệnPublishing : Một lớp phát sinh sự kiện Subscribing : Các lớp được subscribe sẽ nhận thông báo về Subscribing : Các lớp được subscribe sẽ nhận thông báo về

sự kiện phát sinh , và thực thisự kiện phát sinh , và thực thi Event trong C# sẽ được cài đặt bằng delegate. Lớp Event trong C# sẽ được cài đặt bằng delegate. Lớp

publish định nghĩa một delegate. Khi một sự kiện publish định nghĩa một delegate. Khi một sự kiện phát sinh phương thức của lớp subscribe sẽ được gọi phát sinh phương thức của lớp subscribe sẽ được gọi thông qua delegatethông qua delegate

Delegate và EventDelegate và Event

Delegate và EventDelegate và Event

Bài sauBài sau

Window FormWindow Form Giới thiệu về Window FormGiới thiệu về Window Form Giới thiệu về các control , hộp thoại menu , Giới thiệu về các control , hộp thoại menu ,

custom controlcustom control Tác vụ FileTác vụ File

Quản lý thư mục ,tìm kiếm file , folderQuản lý thư mục ,tìm kiếm file , folder Di chuyển, sao chép, huỷ các file và folder Di chuyển, sao chép, huỷ các file và folder Đọc và ghi văn bản trong các file Đọc và ghi văn bản trong các file

top related