TỔNG QUAN .NET NGÔN NGỮ C# - ThS. Nguyễn Hà Giang pdf

52 411 3
TỔNG QUAN .NET NGÔN NGỮ C# - ThS. Nguyễn Hà Giang pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TỔNG QUAN .NET NGÔN NGỮ C# ThS. Nguy nHàGiang Nguyen Ha Giang -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 Ha Giang -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 Ha Giang -2009 .NET Framework -Architechture ¤ Common Language Infrastructure (CLI)  provide a language- neutral platform for application development and execution 4 Nguyen Ha Giang -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 Ha Giang -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 Ha Giang -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 Ha Giang -2009 Đặc điểm của ứng dụng .NET 8 Nguyen Ha Giang -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 Ha Giang -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 Nguyen Ha Giang - 2009 27 Nguyen Ha Giang - 2009 Ngôn ngữ C# 28 ¤ Ngôn ngữ 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# Nguyen Ha Giang - 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... Nguyen Ha Giang - 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… Nguyen Ha Giang - 2009 Vai trò C# trong... đều dẫn xuất từ Object (System.Object) Nguyen Ha Giang - 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 Nguyen Ha Giang - 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 Nguyen Ha Giang - 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 độ Nguyen Ha Giang - 2009... tự, do đó VB.NET có thể hoạt động trong CLS C# Nguyen Ha Giang - 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 Nguyen Ha Giang - 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 Nguyen Ha Giang - 2009 Run NET App from Client 25 ¤ Required... Nguyen Ha Giang - 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ôn ngữ 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 Nguyen Ha Giang - 2009... Ha Giang - 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 Nguyen Ha Giang - 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) Nguyen Ha Giang - 2009... Framework - CLS 11 C++ C# CLS CLR/ CTS/IL Nguyen Ha Giang - 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 Nguyen Ha Giang - 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… Nguyen Ha Giang - 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ư

Ngày đăng: 28/03/2014, 16:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan