Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
735,8 KB
Nội dung
TỔNGQUAN.NET
NGÔN NGỮ C#
ThS. Nguy
nHàGiang
Nguyen HaGiang -2009
Nội dung
2
1. Giớithiệu.NETFramework
1. CLR,CTS,CLS,MSIL…
2. Garbagecollection
3. Namespace
2. Tổngquanngônngữ C#
1. Đặc điểmngônngữ
2. QuátrìnhbiêndịchCTC#
3. CácloạiCTC#
4. CấutrúcchươngtrìnhC#
5. ChươngtrìnhC# đơngiản
Nguyen HaGiang -2009
.NET Framework
3
¤ Chươngtrìnhnềntảngcho
chocôngnghệ .NET
¤ Cung cấp tập hợp class
librarythườngdùng
¤ Quảnlýsựthựcthicủacác
chươngtrình.NET
Common Language Runtime
Base Framework Classes
Data and XML Classes
Custom Classes
C# VB.NET J# C++ …
XML Web
Service
Web
Forms
Windows
Forms
ASP.NET
Nguyen HaGiang -2009
.NET Framework -Architechture
¤ Common Language
Infrastructure (CLI)
provide a language-
neutral platform for
application development
and execution
4
Nguyen HaGiang -2009
.NET Framework
5
.NET 1.1 (Apr-2003)
VS .NET 2003
Default: Server 2003
.NET 3.5 (Nov-2007)
VS.NET 2008
Default: Windows 7,
Server 2008 R2
.NET 3.0 (Nov-2006)
Default: Windows
Vista, Server 2008
.NET 2.0 (Nov-2005)
VS.NET 2005
.NET 1.0
(Feb-2002)
.NET 4.0 (April-2010)
VS.NET 2010
Default: Windows 7,
Server 2008 R2
.NET 4.5 (August-2012)
VS.NET 2012
Default: Windows 8,
Server 2012
Nguyen HaGiang -2009
Đặc điểm của ứng dụng .NET
6
¤ Chạytrênnền(.NETframework)
¤ Mãnguồn đượcbiêndịchquaMSIL
¤ MSIL đượcthôngdịchquamãmáylúcthựcthinhờ
vàoCLR
¤ Độclậpnềntảng
Về lýthuyếtcóthể chạytrênmọinền!
¤ Install .NET Framework redistribute packadge
(dotnetfx.exe) để chạy ứng dụng .NET trên máy
client.
Nguyen HaGiang -2009
Đặc điểm của ứng dụng .NET
7
MS IL
CLR
C++
Compiler
C#
Compiler
J# .NET
Compiler
CT
C#.NET
CT
VB.NET
CT
C++.NET
CT
J#.NET
VB .NET
Compiler
Programmer
Nguyen HaGiang -2009
Đặc điểm của ứng dụng .NET
8
Nguyen HaGiang -2009
.NET Framework -CLR
9
¤ Theoquan điểmcủangườilậptrình,.NETcóthể
hiểunhư môitrườngthựcthimớivàthư việnlớpcơ
sởcảitiến.
¤ Môitrườngthựcthilà:CommonLanguageRuntime
-CLR
¤ VaitròchínhCLR:locate,load,manage.NETtypes
¤ CLRcònquảnlýnhữngphần ở mứcthấpnhư:
memorymanagement,securitycheck
Nguyen HaGiang -2009
.NET Framework -CTS
10
¤ CommonTypeSystem(CTS):
Mục đíchhỗtrợ thựcthichéongônngữ
Địnhnghĩakiểudữliệutiền địnhvàcósẵntrongIL:
n Tấtcảngônngữ .NETsẽđượcsinhramãcuốitrêncơsởkiểu
dữ liệunày
…
Integer
…
…
Int32
…
…
int
…
VB.NET IL C#
[...]... mạnh mẽ Namespace giúp tổ chức tốt mã nguồn NguyenHaGiang- 2009 27 NguyenHaGiang- 2009 Ngôn ngữ C# 28 ¤ Ngônngữ ra đời cùng với NET Kết hợp C++ và Java Hướng đối tượng Hướng thành phần Mạnh mẽ (robust) và bền vững (durable) Anders Hejlsberg và MS team xây dựng C#NguyenHaGiang- 2009 Ngôn ngữ C# 29 ¤ Mọi thứ trong C# đều Object oriented Kể cả kiểu dữ liệu cơ bản ¤ Chỉ cho phép đơn kế thừa Dùng... NguyenHaGiang- 2009 Vai trò C# trong NET Framework 32 ¤ NET runtime sẽ phổ biến và được cài trong máy client Việc cài đặt App C# như là tái phân phối các thành phần NET Nhiều App thương mại sẽ được cài đặt bằng C# ¤ ¤ C# tạo cơ hội cho tổ chức xây dựng các App Client/Server n-tier Kết nối ADO.NET cho phép truy cập nhanh chóng & dễ dàng với SQL Server, Oracle… NguyenHaGiang- 2009 Vai trò C# trong... đều dẫn xuất từ Object (System.Object) NguyenHaGiang- 2009 Ngôn ngữ C# 30 ¤ ¤ ¤ ¤ ¤ Cho phép chia chương trình thành các thành phần nhỏ độc lập nhau Mỗi lớp gói gọn trong một file, không cần file header như C/C++ Bổ sung khái niệm namespace để gom nhóm các lớp Bổ sung khái niệm "property" cho các lớp Khái niệm delegate & event NguyenHaGiang- 2009 C#- mạnh mẽ & bền vững 31 ¤ Garbage Collector Tự... ASP.NET viết bằng C# GUI thông minh Chạy nhanh hơn (đặc tính của NET) Mã ASP.NET ko còn là mới hỗn độn Khả năng bẫy lỗi tốt, hỗ trợ mạnh trong quá trình xây dựng App Web NguyenHaGiang- 2009 Quá trình dịch CT C# 34 ¤ Mã nguồn C# (tập tin *.cs) được biên dịch qua MSIL MSIL: tập tin exe hoặc dll ¤ MSIL được CLR thông dịch qua mã máy Dùng kỹ thuật JIT (just-in-time) để tăng tốc độ NguyenHaGiang- 2009... tự, do đó VB.NET có thể hoạt động trong CLS C#NguyenHaGiang- 2009 VB.NET MS Intermediate Language 13 ¤ IL Abstracted assembly language Ý tưởng về mã Java byte Mã cấp thấp cú pháp đơn giản ⇒ quá trình dịch sang mã máy nhanh hơn ¤ CLR chuyển IL thành mã máy lúc runtime Sự chuyển này gọi là Just – In – Time Compilation hay JIT compiling NguyenHaGiang- 2009 Common Language R untime - compilation... lớp cho thao tác Input và Output System.Net Các lớp liên quan đến network protocol System.Collections Chức các lớp liên quan đến xử lý tập hợp System.Data Các lớp của ADO.NET System.Drawing Các lớp thực thi chức năng GUI System.Threading Các lớp lập trình MultiThread System.Web Các lớp liên quan đến HTTP protocol System.Xml Các lớp liên quan XML NguyenHaGiang- 2009 Run NET App from Client 25 ¤ Required... NguyenHaGiang- 2009 NET App NET App Tóm tắt 26 ¤ ¤ ¤ ¤ ¤ ¤ ¤ NET Framework: nền tảng cho ứng dụng mới của MS Tất cả các chương trình viết bằng ngôn ngữ khác nhau (trên NET) sẽ được chuyển về mã thống nhất MSIL Cho phép thực thi chéo giữa các ngônngữ Khái niệm Managed Code Cơ chế thu gom vùng nhớ tự động Các lớp thư viện NET phong phú & mạnh mẽ Namespace giúp tổ chức tốt mã nguồn NguyenHaGiang- 2009... HaGiang- 2009 Namespace 21 ¤ Nên phân thành 2 cấp: Công nghệ Gói phần mềm chức năng CompanyName SaleServices Tên namespace Customer Tên lớp ManagingServices Personel NguyenHaGiang- 2009 Các lớp NET Framework 22 ¤ ¤ Thư viện lớp cơ sở NET là managed code Khá đa dạng & đầy đủ: Cho phép kế thừa để phát triển UD ¤ Bao bọc tất cả các hàm API Dễ sử dụng (khác với VC++ trước đây) NguyenHaGiang- 2009... Framework - CLS 11 C++ C# CLS CLR/ CTS/IL NguyenHaGiang- 2009 Visual Basic CLS is the smallest common denominator of various OOlanguages FCL only uses CLS features NET Framework - CLS 12 ¤ Common Language Specification: Đảm bảo sự thực thi chéo Tất cả compiler hướng NET đều phải tuân thủ theo CLS n n Có thể viết mã non-CLS nhưng sẽ ko đảm bảo thực thi chéo IL phân biệt loại ký tự, VB.NET ko phân... managed heap, xoá nếu ko còn tham chiếu tới Có thể gọi GC một cách tường minh NguyenHaGiang- 2009 Namespace 19 ¤ Namespace CS1 ¤ ¤ Class A Class B Class C ¤ Tránh xung đột tên Cho phép nest Truy cập đầy đủ qua tên Tất cả data type có tiếp đầu ngữ là tên namespace Namespace CS2 Class A Class B CS1.A… CS2.A… NguyenHaGiang- 2009 Class C Namespace 20 ¤ Hầu hết các lớp cơ sở chung của NET đều thuộc namespace . TỔNG QUAN .NET NGÔN NGỮ C# ThS. Nguy nH Giang Nguyen Ha Giang -2 009 Nội dung 2 1. Giớithiệu.NETFramework 1. CLR,CTS,CLS,MSIL… 2. Garbagecollection 3. Namespace 2. Tổngquanngônngữ C# 1 (dotnetfx.exe) để chạy ứng dụng .NET trên máy client. Nguyen Ha Giang -2 009 Đặc điểm của ứng dụng .NET 7 MS IL CLR C++ Compiler C# Compiler J# .NET Compiler CT C# .NET CT VB .NET CT C++ .NET CT. C++ .NET CT J# .NET VB .NET Compiler Programmer Nguyen Ha Giang -2 009 Đặc điểm của ứng dụng .NET 8 Nguyen Ha Giang -2 009 .NET Framework -CLR 9 ¤ Theoquan điểmcủangườilậptrình,.NETcóthể hiểunhư