intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cơ bản ngôn ngữ lập trình C

Chia sẻ: Đỗ Tiến | Ngày: | Loại File: PDF | Số trang:63

151
lượt xem
27
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung 1. Lập trình hướng đối tượng 2. Cách tạo ra một chương trình C# 3. Các thành phần của một chương trình C# 4. Biến, kiểu dữ liệu, Hằng 5. Toán tử 6. Lập trình chương trình đơn giản với C# lập trình định hướng đối tượng, là kĩ thuật lập trình hỗ trợ công nghệ đối tượng. OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn....

Chủ đề:
Lưu

Nội dung Text: Cơ bản ngôn ngữ lập trình C

  1. Cơ bản ngôn ngữ lập trình C# v 1.0 - 10/2012 Lê Viết Mẫn - lvman@hce.edu.vn 1 Cơ bản NNLT C# Monday, October 15, 12
  2. chúng ta đã học... 1. Lập trình là gì ? 2. C# và .NET 3. Thiết kế thuật toán Lê Viết Mẫn - lvman@hce.edu.vn 2 Cơ bản NNLT C# Monday, October 15, 12
  3. Giải bài toán trên máy tính 1. Xác định bài toán 2. Thiết kế thuật toán 3. Phân tích thuật toán 4. Cài đặt thuật toán 5. Kiểm tra / Bắt lỗi 6. [ Sửa lỗi ] Lê Viết Mẫn - lvman@hce.edu.vn 3 Cơ bản NNLT C# Monday, October 15, 12
  4. Nội dung 1. Lập trình hướng đối tượng 2. Cách tạo ra một chương trình C# 3. Các thành phần của một chương trình C# 4. Biến, kiểu dữ liệu, Hằng 5. Toán tử 6. Lập trình chương trình đơn giản với C# Lê Viết Mẫn - lvman@hce.edu.vn 4 Cơ bản NNLT C# Monday, October 15, 12
  5. Lập trình hướng đối tượng Lê Viết Mẫn - lvman@hce.edu.vn 5 Cơ bản NNLT C# Monday, October 15, 12
  6. .NET và hướng đối tượng • Nền tảng .NET hỗ trợ hướng đối tượng từ dưới lên trên • Trình biên dịch hỗ trợ hướng đối tượng • Intermediate Language là hướng đối tượng • Base Class Library hoàn toàn là hướng đối tượng • Các ngôn ngữ lập trình chấp nhận .NET (.NET-aware languages) cũng là hướng đối tượng • Ngôn ngữ lập trình C# là ngôn ngữ lập trình hướng đối tượng • Cần hiểu hai khái niệm : • Lớp • Đối tượng Lê Viết Mẫn - lvman@hce.edu.vn 6 Cơ bản NNLT C# Monday, October 15, 12
  7. Lớp & đối tượng • Lớp giống như một cái khuôn bánh • Nó định nghĩa khuôn dạng của các đối tượng • Các đối tượng như các cái bánh • Chúng là các instances (thực thể/thể hiện) của lớp Lê Viết Mẫn - lvman@hce.edu.vn 7 Cơ bản NNLT C# Monday, October 15, 12
  8. Document Lớp & đối tượng name type state nameBorrower • Một đối tượng là một thực thể trong miền dateBorrow xác định có một định danh riêng (tên) dateReminder • calculDateReminder Một tập những đặc tính (attribute) mô tả Đặc tả UML của một lớp tình trạng của đối tượng • Một tập các thao tác (phương thức / hàm - methods) định nghĩa các hành vi của đối tượng • Một đối tượng là một thể hiện (instance) của một lớp • Lớp là kiểu dữ liệu trừu tượng, được mô tả bởi những thuộc tính (đặc tính và phương thức) chung của các đối tượng và cho phép tạo ra các đối tượng có những thuộc tính đó Lê Viết Mẫn - lvman@hce.edu.vn 8 Cơ bản NNLT C# Monday, October 15, 12
  9. Ví dụ Car Nhóm các dữ liệu và xử lý liên mark quan trong một lớp color registering start driver stop twingo : Car Object : một thể hiện của lớp mark = Renault color = gray registering = 995 LKZ 75 Lê Viết Mẫn - lvman@hce.edu.vn 9 Cơ bản NNLT C# Monday, October 15, 12
  10. Lớp & đối tượng trong C# Định nghĩa lớp Sử dụng từ khoá class Định nghĩa một kiểu dữ liệu mới Tạo một đối tượng Khai báo một biến có kiểu dữ liệu nào đó và ghi dữ của một lớp liệu vào biến đó Sử dụng từ khoá new Bitmap bm = new Bitmap(20, 20); Đặc tính Các biến thành phần (gọi tắt là biến) Thao tác Phương thức / hàm Có hai loại hàm với hai cách triệu gọi khác nhau : • Hàm không tĩnh - Gọi từ đối tượng Bitmap bm = new Bitmap(20, 20); bm.Save("bitmap.png"); • Hàm tĩnh (từ khoá static) - Gọi từ lớp Console.Write("Please enter a number :"); Lê Viết Mẫn - lvman@hce.edu.vn 10 Cơ bản NNLT C# Monday, October 15, 12
  11. .NET Base Class Library • Một tập hợp khổng lồ các đoạn mã lớp được giám quản (managed code) mà Microsoft đã viết ra, cho phép bạn làm bất cứ việc gì với máy tính mà Windows API hỗ trợ • Bạn có thể sử dụng các lớp cơ bản .NET này để... • Tạo các thể hiện (object) • Truy xuất các phương thức / hàm thành phần các lớp cung cấp • Cung cấp, truy xuất các dữ liệu của các thể hiện của lớp • Để nghiên cứu về các lớp cung cấp cái gì... • Sử dụng Object Browser • MSDN - http://msdn.microsoft.com/en-us/library/gg145045%28v=vs.100%29.aspx • Bên cạnh các giải thích còn có các ví dụ hướng dẫn sử dụng Lê Viết Mẫn - lvman@hce.edu.vn 11 Cơ bản NNLT C# Monday, October 15, 12
  12. Namespace (1/5) • Là cách mà .NET tránh né việc các định danh (tên lớp, tên biến, tên hàm,...) choảng nhau vì trùng tên • Là việc gộp lại những kiểu dữ liệu có liên hệ với nhau về mặt ngữ nghĩa • System.IO gộp các kiểu dữ liệu liên quan đến xuất nhập dữ liệu trên tập tin • System.Data gộp các kiểu dữ liệu cơ bản về cơ sở dữ liệu • Tên tất cả các kiểu dữ liệu trong phạm vi namespace sẽ tự động được gán một tiền tố mang tên namespace System.Console System.Array • Lớp Array nằm trong System, nên tên trọn vẹn của nó là System.Array • .NET đòi hỏi các kiểu dữ liệu phải được định nghĩa trong một namespace nào đó Lê Viết Mẫn - lvman@hce.edu.vn 12 Cơ bản NNLT C# Monday, October 15, 12
  13. Namespace (2/5) • [Lời khuyên của Microsoft] Nên cung cấp ít nhất hai namespace lồng nhau : YourCompanyName.ProjectName.ClassName • namespace đầu : tên công ty • namespace thứ hai : tên công nghệ, tên gói phần mềm, tên phần mềm hoặc tên project • Trong .NET, hầu hết những namespace quan trọng đều xoay quanh namespace System • Namespace này cung cấp phần cốt lõi các kiểu dữ liệu • Một chương trình C# ít nhất phải khai báo sử dụng namespace này • Việc tìm hiểu từng kiểu dữ liệu được chứa đựng trong mỗi namespace đòi hỏi thời gian Lê Viết Mẫn - lvman@hce.edu.vn 13 Cơ bản NNLT C# Monday, October 15, 12
  14. Namespace (3/5) .NET Namespace Ý nghĩa Chứa các lớp cốt lõi liên quan đến các kiểu dữ liệu bẩm sinh, System tính toán số học... System.Collections Định nghĩa một số đối tượng như ArrayList, Queue, SortedList System.Data Những namespace dùng trong việc thao tác với các cơ sở dữ System.Data.Common System.Data.SqlClient liệu System.Drawing System.Drawing.Drawing2D Chứa các kiểu dữ liệu về vẽ đồ hoạ, in ấn System.Drawing.Printing System.IO Chứa các kiểu dữ liệu lo việc xuất nhập dữ liệu System.Net Các kiểu dữ liệu liên quan đến lập trình mạng Các kiểu dữ liệu cho việc triển khai những ứng dụng Web, kể System.Web cả ASP.NET System.Windows.Form Các kiểu dữ liệu cho phép xây dựng giao diện đồ hoạ System.XML Các kiểu dữ liệu cho phép tương tác với dữ liệu XML Lê Viết Mẫn - lvman@hce.edu.vn 14 Cơ bản NNLT C# Monday, October 15, 12
  15. Namespace (4/5) • Sử dụng từ khoá using để qui chiếu đến các namespace trong chương trình using System; using System.Drawing; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; • Một khi đã qui chiếu các namespace, bạn tự do tạo ra những thể hiện của những kiểu dữ liệu mà namespace đó chứa đựng using System.Drawing; Cách 1 : ... Bitmap bm = new Bitmap(20, 20); // Không cần viết tên lớp bao gồm cả namespace Cách 2 : System.Drawing.Bitmap bm = new System.Drawing.Bitmap(20, 20); • Nên dùng cách 1, chỉ dùng cách 2 khi muốn tránh sự nhập nhằng về tên • Có thể dùng các alias cho các tên namespace dài using WF = System.Windows.Forms; Lê Viết Mẫn - lvman@hce.edu.vn 15 Cơ bản NNLT C# Monday, October 15, 12
  16. Namespace (5/5) • Một tập tin assembly (vd : mscorlib.dll) có thể chứa một lượng bất kỳ các namespace • Cần phải báo cho trình biên dịch về tên của assembly chứa các namespace có các kiểu được tham chiếu (được sử dụng) • Tất cả các assembly được lưu trong GAC (Global Assembly Cache) - C:\Windows\Assembly • Trong Visual Studio, trên ngăn Solution Explorer, nháy phải chuột lên thư mục References, nháy mục Add References • Làm việc này rồi thì mới using được Lê Viết Mẫn - lvman@hce.edu.vn 16 Cơ bản NNLT C# Monday, October 15, 12
  17. Cách tạo ra một chương trình C# Lê Viết Mẫn - lvman@hce.edu.vn 17 Cơ bản NNLT C# Monday, October 15, 12
  18. Chương trình C# • Mỗi Project được đặt trong một Solution • Mỗi Solution có thể chứa nhiều Project • Một Project bao gồm một hoặc nhiều đơn vị biên dịch (compilation units) • Mỗi đơn vị là một file mã nguồn riêng biệt (.cs) • Program.cs là tên mặc định của đơn vị biên dịch đầu tiên của project • Mỗi Project được biên dịch thành một tập tin assembly (.exe hoặc .dll) • Hai đơn vị biên dịch khác nhau có thể chứa cùng namespace • Hai project khác nhau phải chứa hai namespace khác nhau Lê Viết Mẫn - lvman@hce.edu.vn 18 Cơ bản NNLT C# Monday, October 15, 12
  19. Cấu trúc chương trình C# biên dịch Solution thành .exe biên dịch thành .dll Project 1 Project 2 File1.cs File2.cs File3.cs File1.cs namespace A {...} namespace B {...} namespace A {...} namespace C {...} class X {...} class Y {...} class Z {...} Lê Viết Mẫn - lvman@hce.edu.vn 19 Cơ bản NNLT C# Monday, October 15, 12
  20. Namespace vs Assembly • Namespace là cấu trúc thời gian biên dịch (compile-time) • Assembly là cấu trúc thời gian chạy (run-time) • Có thể chứa các kiểu dữ liệu từ các namespace khác nhau file A.cs namespace X { "class A {...} } file A.exe file B.cs csc A.cs B.cs chứa X.A và Y.B namespace Y { "class B {...} } file C.cs file C.exe namespace X { "class C {...} csc C.cs chứa X.C } Lê Viết Mẫn - lvman@hce.edu.vn 20 Cơ bản NNLT C# Monday, October 15, 12
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2