Bai 2 - Khai Niem Co Ban C#

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Bai 2 - Khai Niem Co Ban C# as PDF for free.

More details

  • Words: 1,205
  • Pages: 32
Khái niệm cơ bản C# Trần Anh Tuấn A

Nội dung  

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

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

Giới thiệu C# 



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

Đơn giản Hiện đại Hướng đối tượng Mạnh mẽ & Mềm dẻo Ít từ khoá

Giới thiệu C# 

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ư macro , template , đa kế thừa , virtual base class 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ụ : “:: , . , ” chỉ còn “.”

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 bộ nhớ tự động , kiểu dữ liệu an toàn, bảo mật mã nguồn…

Giới thiệu C# 

C# là ngôn ngữ hướng đối tượng :   



Đóng gói (encapsulation) Kế thừa (inheritance) Đa hình (polymorphism)

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 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, trình biên dịch cho các ngôn ngữ khác v.v…

Giới thiệu C# 

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

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



Các ghi chú : // (1 dòng) , /* (nhiều dòng) */ #region : 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ơn 



VD : using System.IO;  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…

Ứng dụng dạng console: 



Nhập : string sInput ; sInput = System.Console.ReadLine(); (chuyển kiểu : System.Convert.To????(sInput) ) Xuất : System.Console.WriteLine(“KQ = {0}”, sInput);

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

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



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

Câ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 hợp VD : int[] intarray; intarray = new int[5]; foreach(int i in intarray) Console.WriteLine(i.ToString());

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

Tạo vùng tên (namespace)

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

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

Lớp và đối tượng Phương thức thiết lập (Constructor)  Phương thức thiết lập sao chép  Phương thức huỷ  Sử dụng using ( hàm huỷ tự đông gọi trong thời gian sớm nhất) 

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

Tham chiếu 

Trong lớp Time



Sử dụng

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

Đóng gói dữ liệu với Property  



Lớp người có chuỗi m_sHoten Cài đặt Property HoTen

Sử dụng Property Nguoi A = new Nguoi(); A.HoTen = “Tran Anh Tuan”; string tentoi = A.HoTen;

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

Thừa kế : “:” Boxing & UnBoxing  

Đa Hình : “virtual”

Boxing : 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ị

Cấu Trúc Cách dùng : Location loc = new Location(200,300); Console.WriteLine(“KQ = {0}”, loc );

Giao diện 

Tạo một giao diện



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

Giao diện 

Cách sử dụng :



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



Array , Indexer , và Collection 

Array :



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



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

Cách dùng :

Array , Indexer , và Collection 

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

Chuỗi 

Khai báo :



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

    

Chuỗi 

Định dạng chuỗi



Các thành viên lớp string      

Compare() so sánh hai chuỗi Copy() tạo bản sao Insert() chèn chuỗi Split() cắt chuỗi v.v…. Trim(), TrimEnd(),TrimStart() ToUpper() , ToLower() v.v….

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

 



Exception chứa các thông tin về sự cố bất thường của chương trình Phân biệt bug , error , và exception 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ộ nhớ ) Có thể dùng các đối tượng exception có sẵn , tự tạo exception , hay bắt exception trong exception (trong trường hợp sửa lỗi )

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

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

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

Đối tượng Exception :



Tạo biệt lệ :

Delegate và Event 

 

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 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ế. Một delegate chứa tham chiếu tới hàm Cách khai báo

Access Modifier delegate [void] DelegateName(…)

Delegate và Event 



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 mỗi sự kiện này. Khái niệm Publishing và Subcribing  



Publishing : 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ề sự kiện phát sinh , và thực thi

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 phát sinh phương thức của lớp subscribe sẽ được gọi thông qua delegate

Delegate và Event

Bài sau Window Form

  

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

Tác vụ File

   

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

Related Documents