Mc tiu mn hc v Hiu c cc

  • Slides: 32
Download presentation
Mục tiêu môn học v Hiểu được các kiến thức về nền tảng Microsoft.

Mục tiêu môn học v Hiểu được các kiến thức về nền tảng Microsoft. NET. v Có kiến thức và kỹ năng về lập trình hướng đối tượng trên C#. v Có kiến thức và kỹ năng về giao diện trong C#. v Có kiến thức và kỹ năng xử lý mảng, chuỗi. v Có kiến thức và kỹ năng về cơ chế ủy quyền. v Có kiến thức và kỹ năng sử dụng các lớp cơ sở của. NET. LT Windows 1 _ C# 1

LẬP TRÌNH WINDOWS 1 BÀI 1 Microsoft. NET (02 tiết) GVHD: Nguyễn Thị Thu

LẬP TRÌNH WINDOWS 1 BÀI 1 Microsoft. NET (02 tiết) GVHD: Nguyễn Thị Thu Dự Email: thudunt@gmail. com nttdu@vast-hcm. ac. vn LT Windows 1 _ C# 2

Bài 1. Microsoft. NET v Mục tiêu của bài: § Nhằm trang bị cho

Bài 1. Microsoft. NET v Mục tiêu của bài: § Nhằm trang bị cho người học các kiến thức về: § Nền tảng Microsoft. NET § Trình biên dịch và MSIL. § Lý do và lịch sử về sự ra đời của ngôn ngữ C#. v Nội dung của bài: v 1. Microsoft. NET Thời gian: 1 h v 2. Biên dịch và MSIL Thời gian: 0, 5 h v 3. Ngôn ngữ C# Thời gian: 0, 5 h LT Windows 1 _ C# 3

. NET là gì? v. NET là đại diện cho một thế hệ phần

. NET là gì? v. NET là đại diện cho một thế hệ phần mềm tiến bộ mới đó là Next Generation Internet. Mục đích của nó là lấy thông tin sẵn có bất kỳ lúc nào, bất kỳ ở đâu và trên bất kỳ thiết bị nào. v. NET là một sáng kiến để tích hợp tất cả các sản phẩm của Microsoft với “Next Generation” web. 4

Next Generation Internet Web site Looselycoupled, Service services connected by XMLXML-based. Web site msgs

Next Generation Internet Web site Looselycoupled, Service services connected by XMLXML-based. Web site msgs messages and contracts, Device written in many languages Web site Backend App Service Mega Service Backend Service App Service Mega Service 5

Microsoft. NET là gì? v Các thành phần cốt lõi trong. NET là: §.

Microsoft. NET là gì? v Các thành phần cốt lõi trong. NET là: §. NET Infrastructure and Tools §. NET Services • Một tập hợp kết hợp từ các dịch vụ khối kiến trúc cho thế hệ Internet mới bao gồm: Passport. NET (dùng để xác thực người dùng), và các dịch vụ cho việc lưu trữ tập tin, quản lý độ ưu tiên người dùng, quản lý lập lịch, … §. NET User Experience • Rộng rãi hơn, có khả năng thích nghi hơn. • Thông tin được phân phát theo các hướng khác nhau trên các thiết bị khác nhau. §. NET Device Software • Có khả năng tạo ra các thiết bị Internet thông minh mới có tác dụng làm đòn bẩy cho các dịch vụ Web. 6

. NET Infrastructure and Tools v. NET Enterprise Servers § § § § SQL

. NET Infrastructure and Tools v. NET Enterprise Servers § § § § SQL 2000 Exchange 2000 ISA 2000 Host Integration Server 2000 Application Center 2000 Biz. Talk Server 2000 Commerce Server 2000 v Visual Studio. NET v. NET Framework v Windows. NET § “Whistler” (Windows XP) 7

. NET Framework 8

. NET Framework 8

. NET Framework v. NET Framework bao gồm 3 thành phần chính sau: §

. NET Framework v. NET Framework bao gồm 3 thành phần chính sau: § Common Language Runtime – CLR: Quản lý việc thi hành chương trình - khởi động chương trình, cấp phép hoạt động, cấp phát nhật ký lưu trữ dữ liệu làm việc, hỗ trợ việc thu hồi tài nguyên (resource). . § Framework Classes/Libraries: cho phép thực hiện vô số tác vụ trên Windows, chứa tập hợp các kiểu của CLR. § ASP. NET v Nói tóm lại. NET giữ hai vai trò: quản lý việc thi hành chương trình và cung cấp những dịch vụ mà chương trình cần đến. Là một môi trường an toàn cho việc quản lý, thực thi và phát triển ứng dụng. 9

The. NET Framework VB C++ C# JScript … Common Language Specification Windows Forms ADO.

The. NET Framework VB C++ C# JScript … Common Language Specification Windows Forms ADO. NET: Data and XML Base Class Library V i s u a l S tu d i o. N E T ASP. NET: Web Services and Web Forms Common Language Runtime 10

Common Language Runtime (CLR) v Là bộ phận quản lý việc thi hành đoạn

Common Language Runtime (CLR) v Là bộ phận quản lý việc thi hành đoạn mã: nạp chương trình, cho chạy đoạn mã trên các luồng (thread) nhất định, cũng như quản lý các luồng này và cung cấp tất cả các dịch vụ hỗ trợ. v CLR bao gồm một "cỗ máy ảo" (virtual machine) tương tự như Java virtual machine (JVM). Ở cấp cao, CLR cho biên dịch các đối tượng, tiến hành những kiểm tra an toàn đối với các đối tượng này, cấp phát tài nguyên và thực thi chúng; thu hồi tài nguyên mà chúng chiếm dụng trong thời gian "tại chức". Nói tóm lại CLR được xem như là linh hồn của kiến trúc. NET. 11

Common Language Runtime (CLR) v Một “runtime” chung cho tất cả các ngôn ngữ.

Common Language Runtime (CLR) v Một “runtime” chung cho tất cả các ngôn ngữ. NET § Common type system § Common metadata § Intermediate Language (IL) - Ngôn ngữ trung gian. § Common Language Specification § Thực thi và bảo mật code. v Hơn 15 ngôn ngữ đã được hỗ trợ như: § C#, VB, Jscript, Visual C++ from Microsoft § Perl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc. 12

Common Type System (CTS) v Common Type System - Đặc tả kiểu dữ liệu

Common Type System (CTS) v Common Type System - Đặc tả kiểu dữ liệu chung: § Để có thể thực hiện việc liên thông giữa ngôn ngữ (language interoperability), nghĩa là các ngôn ngữ khác nhau có thể hiểu nhau, để từ đó có thể chuẩn hóa tất cả các ngôn ngữ. § CTS còn cung cấp những quy tắc định nghĩa những lớp tùy biến (custom class). Ví dụ, trên. NET mọi thứ đều là một đối tượng của một lớp đặc trưng nào đó và lớp này được dẫn xuất từ lớp gốc mang tên System. Object. § CTS hỗ trợ khái niệm chung về các lớp, giao diện (interface), ủy quyền (delegate), kiểu tham chiếu (reference type) và kiểu tham trị (value type). 13

Intermediate Language (IL) v Intermediate Language - Ngôn ngữ trung gian: § Các chương

Intermediate Language (IL) v Intermediate Language - Ngôn ngữ trung gian: § Các chương trình. NET không được biên dịch thành tập tin thực thi (executable, . EXE), mà lại được biên dịch thành tập tin IL. Khi biên dịch thì trình biên dịch sẽ cho ra IL, rồi CLR sẽ biên dịch thành tập tin thực thi. IL được thiết kế có khả năng biên dịch nhanh ra ngôn ngữ máy nguyên sinh (native machine code), trong khi vẫn hỗ trợ những chức năng của. NET. § Tập tin IL được tạo ra đối với C# cũng tương tự như các tập tin IL được tạo ra với các ngôn ngữ khác J# hoặc VB. NET bởi CLR. Điểm chủ yếu ở đây là CLR hỗ trợ C# cũng như VB. NET giống như nhau, không "phân biệt đối xử". 14

Common Language Specification (CLS) v. CLS - Đặc tả ngôn ngữ chung: § Đây

Common Language Specification (CLS) v. CLS - Đặc tả ngôn ngữ chung: § Đây là một tập hợp các quy tắc để bảo đảm đoạn mã này có thể được truy xuất bất cứ ngôn ngữ nào, cho phép liên thông giữa các ngôn ngữ. Từ ngữ. NET-aware dùng để chỉ loại ngôn ngữ chung này. § Nhìn chung, các trình biên dịch nào tuân theo quy tắc CLS (. NET-aware) sẽ tạo ra các đối tượng có thể hoạt động liên thông với các trình biên dịch khác nhau. 15

Common Language Runtime (CLR) v. Enables cross-language interoperability v. Language/Hardware/OS Independent § Compact framework

Common Language Runtime (CLR) v. Enables cross-language interoperability v. Language/Hardware/OS Independent § Compact framework for small devices v. Industrial strength Garbage collector § Designed for multi-processor servers 16

CLR: Execution Model Source code Managed code VB C# C++ Compiler Assembly IL Code

CLR: Execution Model Source code Managed code VB C# C++ Compiler Assembly IL Code Unmanaged Component Common Language Runtime JIT Compiler Native Code Operating System Services 17

Managed Code v Managed Code (đoạn mã được quản lý): bất cứ đoạn mã

Managed Code v Managed Code (đoạn mã được quản lý): bất cứ đoạn mã nào được thiết kế để chạy trên môi trường. NET được gọi là đoạn mã được quản lý. Những đoạn mã khác, đơn giản chạy trên Windows, ngoài môi trường. NET, thì được gọi là unmanaged code (đoạn mã vô quản). CLR chỉ là một lớp phần mềm nằm giữa hệ điều hành Windows và các ứng dụng. Dĩ nhiên những ứng dụng unmanaged vẫn tiếp tục làm việc với Windows, cũng như trực tiếp với Windows 18 APIs giống như trước kia.

Assembly v Một assembly là một đơn vị, theo đó đoạn managed code sẽ

Assembly v Một assembly là một đơn vị, theo đó đoạn managed code sẽ được trữ trong đó. Assembly có chứa một loại dữ liệu được gọi là metadata, cho biết thông tin chi tiết của assembly cũng như tất cả các kiểu dữ liệu, phương thức (method), . . . được định nghĩa trong assembly. v Một assembly có thể là private (riêng tư, chỉ được truy xuất bởi ứng dụng mà thôi) hoặc shared (được chia sẻ sử dụng, được truy xuất bới bất cứ ứng dụng nào trên Windows). 19

Just-in-Time (JIT) compilation v Đây là trình biên dịch (thường được gọi là JITing)

Just-in-Time (JIT) compilation v Đây là trình biên dịch (thường được gọi là JITing) thực hiện giai đoạn cuối cùng, biên dịch từ IL qua mã máy nguyên sinh (native machine code). Kết quả của JITing là một mã máy có thể được thi hành bởi bộ xử lý (processor) của máy. v Trình biên dịch JIT chuẩn sẽ chạy theo yêu cầu. Khi một phương thức (method) được triệu gọi, JIT compiler sẽ phân tích IL và cho ra một đoạn mã máy có hiệu quả để thực thi. v JIT complier khá thông minh để có thể biết là đoạn mã nào đã được biên dịch, nên việc biên dịch chỉ xãy ra khi nào cần thiết. Do đó, khi các ứng dụng. NET chạy thì chúng chạy ngày càng nhanh khi có những đoạn mã đã biên dịch sẵn được dùng đi dùng lại. 20

. NET Framework Libraries v Tập hợp các thư viện lớp hướng đối tượng

. NET Framework Libraries v Tập hợp các thư viện lớp hướng đối tượng thích hợp để có thể xây dựng các ứng dụng web (Unified Classed). v Các thư viện được xây dựng bằng cách sử dụng các lớp đã được cải biên thông qua kiến trúc không gian tên hợp lý. § Ví dụ: System. Data. SQL v Làm việc với tất cả các ngôn ngữ CLR. 21

. NET Framework Libraries 22

. NET Framework Libraries 22

ASP. NET v ASP. NET là một ngôn ngữ lập trình framework mới được

ASP. NET v ASP. NET là một ngôn ngữ lập trình framework mới được thiết kế để tạo ra các ứng dụng web dễ dàng hơn khi: § Build, Deploy, Run v Các tiến triển cơ bản của ASP § Hỗ trợ nhiều ngôn ngữ lập trình hơn: • Visual Basic. NET, Jscript. NET, C#, … § Mô hình lập trình theo trang dễ dàng hơn • Namespaces § Các đặc tính XML, việc triển khai Xcopy/FTP, § XCopy/FTP deployment 23 § Đáng tin cậy hơn và dễ khôi phục hơn.

Visual Studio. NET 24

Visual Studio. NET 24

Visual Studio. NET v Integrated Development Environment § Visual Basic. NET • Many language

Visual Studio. NET v Integrated Development Environment § Visual Basic. NET • Many language enhancements • Inheritance, Overloading, Free Threading § Visual C++ • Integration with. NET Framework with managed extensions (classes) § C# • New development language • Based on C/C++ with Garbage Collection/Memory Management § JUMP (Java User Migration Path) to. NET (1/25/01) Visual J++ has been removed from the Visual Studio suite. 25

Các đặc điểm của VS. NET v Single IDE for all Languages v Server

Các đặc điểm của VS. NET v Single IDE for all Languages v Server Explorer § Event Viewer, Message Queues, Services § SQL Databases, Data Connection, Etc. v Integrated IE Browser v HTML/XML Editors v Macros/Macro Explorer v Solution Explorer v Tabbed Documents v Dynamic Help v Common Forms Editor § VB. NET, C++, and C# 26

Ngôn ngữ C# 27

Ngôn ngữ C# 27

Giới thiệu C# v Được phát triển bởi đội ngũ kỹ sư của Microsoft.

Giới thiệu C# v Được phát triển bởi đội ngũ kỹ sư của Microsoft. Dẫn đầu là : Anders Hejlsberg và Scott Wiltamuth v 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# v C# là một ngôn ngữ đơn giản : § Loại

Giới thiệu C# v 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 “. ” v 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# v C# là ngôn ngữ hướng đối tượng : § Đóng

Giới thiệu C# v C# là ngôn ngữ hướng đối tượng : § Đóng gói (encapsulation) § Kế thừa (inheritance) § Đa hình (polymorphism) v 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# v C# có ít từ khoá : §

Giới thiệu C# v C# có ít từ khoá : §

LT Windows 1 _ C# 32

LT Windows 1 _ C# 32