1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình C# 1 - Chương 1: Giới thiệu C#

12 9 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 250,03 KB

Nội dung

Bài giảng Lập trình C# 1 - Chương 1: Giới thiệu C# nêu lên tình hình trước khi MS.NET ra đời, Microsoft .NET, biên dịch và MSIL, ngôn ngữ C#. Đặc biệt, với những bài tập được đưa ra ở cuối bài sẽ giúp cho các bạn nắm bắt kiến thức một cách tốt hơn.

F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr Tình hình tr c MS.NET Microsoft NET Biên d ch MSIL Ngôn ng C# Câu h i i 2/46 c MS.NET k e r- s o ft w a i dung Ch ng Gi i thi u C# Tình hình tr ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD i Tình hình tr c MS.NET i l p trình Web, ng i ta v n dùng PHP, m t ngôn ng t c nhanh • Trong gi i phát tri n ng d ng Windows ta có th vi t ng d ng b ng Visual C++, Delphi hay Visual Basic • Do Visual Basic khơng thích h p cho vi t ng Web Server nên Microsoft t o ASP (Active Server Page) • B n thân c a ASP m t s khuy t m quan tr ng, nh t ch y IIS (Internet Information Server) v i Windows NT 4, ASP khơng tin c y l m • Java c Sun vi t ra, ã có s c m nh , h ng t i vi c ch y nhi u h u hành khác nhau, c l p v i b x lý c bi t Java r t thích h p cho vi c vi t ng d ng Internet • Tuy nhiên, Java l i có h n ch v m t t th c t v n ch a th nh hành 3/46 4/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr Microsoft NET ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD k e r- s o ft w a Microsoft NET u n m 1998, sau hoàn t t phiên b n Version a Internet Information Server (IIS), i ng l p trình Microsoft nh n th y h r t nhi u sáng ki n ki n tồn IIS • H b t u xây d ng m t ki n trúc m i n n ng ý t ng ó t tên Next Generation Windows Services (NGWS) • Th t s Microsoft ã t c c vào NET theo thông tin a công ty, ã t p trung 80% s c m nh c a Microsoft nghiên c u tri n khai NET 6/46 5/46 Microsoft NET Commom Language Runtime (CLR) • NET m t mơi tr ng qu n lý, phát tri n th c thi m ngơn ng NET • NET cung c p kh n ng : • CLR th c hi n qu n lý : – – – – – V c p phát thu h i b nh – Qu n lý c p quy n, – Cung c p qu n lý ngu n tài nguyên B nh Qu n lý th c thi ti u trình, th c thi mã ngu n Xác nh n mã ngu n an toàn Biên b ch d ch v h th ng khác • CLR thúc • G m ph n chính: – Commom Language Runtime (CLR) – Framework class lybary y: – Vi c mã ngu n th c hi n vi c truy c p cb om t – Mã ngu n c th c thi m nh m h n b ng vi c th c thi mã ngu n xác s xác nh n mã ngu n 7/46 8/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr NET framework class lybary k e r- s o ft w a t s tính n ng c a Microsoft NET • Framework m t t p h p h ng i t ng c a ki u d li u c dùng l i • Nó cho phép phát tri n nh ng ng d ng t : ng d ng truy n th ng command-line (Console) ng d ng có giao di n a (GUI) – Nh ng ng d ng m i nh t c cung c p b i ASP.NET (Web Form d ch v XML Web) – D ch v windows • M t mơ hình l p trình cho phép : – Phát tri n xây d ng ng d ng d ch v web ng d ng client v i Extensible Markup Language (XML) • • • Cung c p server ph c v bao g m: Windows 2000, SQL Server, BizTalk Server, t t c u tích h p, ho t ng, qu n lý d ch v XML Web ngd ng Các ph n m m client nh Windows XP Windows CE giúp ng i phát tri n phân ph i sâu thuy t ph c ng i dùng kinh nghi m thơng qua dịng thi t b Nhi u công c h tr nh Visual Studio NET, phát tri n d ch Web XML, ng d ng n n Windows hay n n web m t cách dàng hi u qu 10 /46 9/46 Phát tri n ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD ng d ng Client Ki u truy n th ng ây nh ng ki u ng d ng hi n th nh ng c a s hay nh ng form desktop • Cho phép ng i dùng th c hi n m t thao tác hay nhi m ó nh : • Ki u truy n th ng • ActiveX control – Nh x lý v n b n, x lý b ng tính, nh ng ng d ng l nh c th ng m i nh công c nh p li u, công c t o báo cáo – Th ng s d ng nh ng c a s , menu, toolbar, button hay thành ph n GUI khác – Chúng th ng truy c p tài nguyên c c b nh t p tin th ng, thi t b ngo i vi nh máy in 11/46 12 /46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr ActiveX control k e r- s o ft w a Biên d ch MSIL • Trong NET Framework, ch ng trình khơng c biên ch vào t p tin th c thi mà thay vào ó chúng c biên d ch vào nh ng t p tin trung gian i Microsoft Intermediate Language (MSIL) • Khi ng d ng c a b n th c thi, mã MSIL “just in time” biên d ch sang mã máy b i JITTER (just in time compiler) • Nh v y b n vi t l p Net b ng b t k ngôn ng b n biên d ch sang Assembly b n u có th s d ng Assembly ó cho ngơn ng khác c nhúng vào trang web Internet • Hi n c thay th b i Windows Form control • Windows Form control có s truy c p gi i h n n máy c a ng i s d ng 14/46 13/46 Ngôn ng ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD Gi i thi u C# • Gi i thi u • C# ngơn ng l p trình khác (sinh viên t nghiên c u) • T i C# • Các b c chu n b cho ch ng trình • Ch ng trình C# n gi n • Phát tri n ch ng trình minh ho 15/46 16/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr Gi i thi u • Ngơn ng C# • C# làm vi c xoay quanh khái ni m Assembly • Assembly t p h p mã c biên d ch sang NET • Ti n trình th c thi b i m t ch ng trình C# : c xây d ng s n • Ngơn ng C# có ý ngh a cao : – Khi ch ng trình c th c thi, CLR s xác nh n n Assembly manifest quy n h n ch y c a ch ng trình h th ng – H b o v h th ng: • Khơng cho phép ch ng trình ch y, ch ng trình s khơng ch y • N u c phép, CLR s th c thi m l nh Bit u tiên c a code c n p vào b nh c biên d ch thành m nh phân t IL b i JIT Sau c biên d ch, m c th c thi ch a b nh – Bao g m t t c nh ng h tr cho c u trúc – Thành ph n component – L p trình h ng i t ng c xây d ng n n t ng c a hai ngôn ng m nh nh t C++ Java • Ngơn ng C# c phát tri n b i i ng k s c a Microsoft, ó ng i d n u Anders Hejlsberg Scott Wiltamuth 18 /46 17/46 i C#? • • • • • • • k e r- s o ft w a Cách th c làm vi c n gi n: – Ch kho ng 80 t khóa – H n m i m y ki u d li u ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD C# C# n gi n C# hi n i C# h ng i t ng C# m nh m m m d o C# t khóa C# h ng module C# s ph bi n n gi n • C# lo i b m t vài s ph c t p r i r m c a nh ng ngôn ng nh Java c++ [macro, template, a k th a, l p c s class)] • Ngơn ng C# C C++ 19/46 o (virtual base n gi n d a n n t ng 20/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr C# hi n i C# h • Con tr c tích h p vào ngơn ng C++ Chúng c ng nguyên nhân gây nh ng r c i c a ngơn ng • Ngơn ng hi n i ph i có nh ng c tính : – – – – ng it ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD k e r- s o ft w a ng óng gói (encapsulation) • S k th a (inheritance) a hình (polymorphism) X lý ngo i l Thu gom b nh t ng Nh ng ki u d li u m r ng B o m t mã ngu n 21/46 C# C# m nh m m m d o • V i ngôn ng C# ch b gi i h n 22/46 khóa : – Chính b i b n thân ng i dùng – Trí t ng t ng c a • C# c s d ng cho nhi u d án khác nh : – T o ng d ng x lý v n b n ng d ng h a – B ng tính – Trình biên d ch cho ngôn ng khác 23/46 24/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr C# h ng module • Microsoft s cam k t c a NET • Nhi u s n ph m c a công ty ã chuy i vi t l i b ng C# B ng cách s d ng ngôn ng Microsoft ã xác nh n kh n ng c a C# n thi t cho nh ng ng i l p trình 25/46 • • • • ng trình Xác nh m c tiêu c a ch ng trình Xác nh nh ng ph ng pháp gi i quy t v n T o m t ch ng trình gi i quy t v n Th c thi ch ng trình xem k t qu k e r- s o ft w a C# s ph bi n • Mã ngu n C# có th c vi t nh ng ph n c g i nh ng l p • Nh ng l p ch a ph ng th c thành viên c a • Nh ng l p nh ng ph ng th c có th c ng l i ng d ng hay ch ng trình khác Chu n b cho ch ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD 26/46 Phát tri n ch ng trình minh ho • Cách 1: – So n ch ng trình: d ng ch ng trình so n th o n b n b t k nh Notepad – Biên d ch ch ng trình: d ng câu l nh • Cách 2: d ng mơi tr ng phát tri n tích h p (IDE) Visual Studio NET 27/46 28/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr Cách ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD k e r- s o ft w a Cách • S d ng Notepad so n th o ch ng trình • L u t p tin xu ng a t p tin có ph n m ng *.cs • Biên d ch t p tin ngu n v a t o : csc.exe [/out: ] d ng Visual Studio NET : • So n th o ch • Biên d ch • Th c thi ng trình • Ví d : csc.exe /out: d:\chaomung.exe d:\chaomung.cs 29/46 So n th o ch ng trình 30/46 So n th o ch • Ch n m c Visual Studio NET menu Start • File New Project ng trình • L p, i t ng ki u d li u (type) • Ph ng th c • Chú thích ng d ng Console • Namespace • Tốn t ‘.’ • T khóa using • T khóa static • Phân bi t ch th ng ch hoa 31/46 32/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr p, it ng ki u d li u (type) • L p : t p i t ng hành vi i t ng : th hi n riêng c a l p • Ki u : class Program { Các thu c tính Các hành ng } • Các ki u khác : ki u l p; ki u li t kê; c u trúc; ki u y quy n (delegates) 33/46 ng th c u tiên; Không mơ t hành 34/46 Chú thích class Program { static void Main(string[] args) { System.Console.WriteLine("Chao mung ban den voi C#"); System.Console.ReadLine(); } } Main() : • Hàm c bi t; Nó cg i c a l p • Tr v void ho c int k e r- s o ft w a p – Là m t th c xem nh tr u t ng Nó có th t b ng d li u, hay m t nút l nh m t c a s – Nh m t d ng v a có thu c tính chung (properties) hành vi ng x (behavior) c a Ph ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD • Chú thích: Gi i thích; nh c nh • Có cách ghi thích: – // ch có tác d ng dịng – /* có tác d ng cho nhi u dòng */ ng 35/46 36/46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr ng d ng Console ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD k e r- s o ft w a Namespace ng d ng giao ti p v i ng i dùng thơng qua bàn phím • Khơng có giao di n ng i dùng (GUI) • NET cung c p m t th vi n l p s th vi n có tên FCL (Framework Class Library) • M i l p có m t tên riêng, v y FCL có hàng ngàn tên • T ó d n n: – Ng l –T h il Các ng d ng nâng cao Windows hay Web ta m i dùng các giao di n h a i l p trình không th nh h t c tên c a p NET Framework n n a sau có th ta t o l i m t l p trùng p ã có ch ng h n 38/46 37/46 Gi i pháp o namespace • T o m t namespace, namsespace s h n ch ph m vi c a m t tên, làm cho tên ch có ý ngh a vùng ã nh ngh a • Ngồi cịn có subnamespace • Ví d : – Có m t ng i nói Tùng m t k s (k s c u ng, c khí hay ph n m m) – C# : Tùng CauDuong.KySu phân bi t v i CoKhi.KySu hay PhanMem.KySu – Namespace tr ng h p CauDuong, CoKhi, PhanMem 39/46 namespace MyLib { using System; public class Tester { public static int Main() { for (int i =0; i < 10; i++) { Console.WriteLine( “i: {0}”, i); } return 0; } } } 40/46 10 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr Toán t ‘.’ System.Console.WriteLine(); p k e r- s o ft w a khóa using • D u‘ ’ c s d ng truy c p n ph ng th c hay li u m t p, ng n cách gi a tên l p n t namespace • Vi c th c hi n theo h ng t xu ng, ó c u tiên namespace, ti p theo p, cu i truy c p n ph ng th c hay thu c tính a l p namespace ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD using < Tên namespace > làm cho ch ng trình g n h n, không c n ph i vi t t ng namespace cho t ng i t ng • Sau t khóa m t namespace hay subnamespace v i mô t y c u trúc phân c p c a Ph ng th c 42/46 41/46 Phân bi t ch using System; using System.Collections.Generic; using System.Linq; using System.Text; th ng ch • C# ngôn ng phân bi t ch th hoa using System.Console namespace ConsoleApplication1 { class Program { static void Main(string[] args) { System.Console.WriteLine("Chao mung ban den voi C#"); Console.WriteLine("Chuc ban thoai mai voi C#"); Console.ReadLine(); } } } hoa ng v i ch u có ngh a r ng hai câu l nh writeLine khác v i WriteLine c ng khác v i WRITELINE 43/46 44/46 11 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y bu k lic tr Biên d ch – Th c thi biên d ch ch ch y ch k e r- s o ft w a Câu h i M t ch ng trình C# có th ch y b t c máy nào? N u mu n a ch ng trình mà ta vi t cho m t ng i b n t p tin mà c n a? Sau t o c t p tin th c thi exe Có c n thi t gi l i t p tin ngu n không? N u trình biên d ch C# a m t trình so n th o, có ph i nh t thi t ph i s d ng nó? Có th khơng quan tâm n nh ng c nh báo biên d ch mã ngu n? CLR vi t t t cho t ý ngh a c a nó? Ngơn ng máy gì? Khi biên d ch mã ngu n C# t p tin exe p tin ngơn ng gì? ng trình : Nh n Ctrl-Shift-B Build Build Solution ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12/05/2011 om PD ng trình : Ctrl-F5 Debug Start Without Debugging Nút l nh toolbar 45/46 46 /46 12 re ... n C# t p tin exe p tin ngơn ng gì? ng trình : Nh n Ctrl-Shift-B Build Build Solution ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12 /05/2 011 om PD ng trình : Ctrl-F5... khác (sinh viên t nghiên c u) • T i C# • Các b c chu n b cho ch ng trình • Ch ng trình C# n gi n • Phát tri n ch ng trình minh ho 15 /46 16 /46 re F -X C h a n ge F -X C h a n ge O W ! PD O W ! N y... hay ch ng trình khác Chu n b cho ch ac c C om k lic C c re k e r- s o ft w a w w ac ww ww tr to to bu y N 12 /05/2 011 om PD 26/46 Phát tri n ch ng trình minh ho • Cách 1: – So n ch ng trình: d

Ngày đăng: 08/05/2021, 11:48