BÀI 1 GIỚI THIỆU .NET VÀ C#eldata11.topica.edu.vn/HocLieu/v1.0/SE203/PDF_Slide/SE203_Bai...
Transcript of BÀI 1 GIỚI THIỆU .NET VÀ C#eldata11.topica.edu.vn/HocLieu/v1.0/SE203/PDF_Slide/SE203_Bai...
1
BÀI 1GIỚI THIỆU .NET VÀ C#
GV. Chử Đức Hoàng
2
TÌNH HUỐNG DẪN NHẬP
Vậy làm thế nào để máy tính có thể thực hiện được công việc quản lýhọc viên?
• Trước đây Trường đại học Quốc gia thực hiện việc quản lý học viên cần rất nhiều vềnhân lực cũng như vật lực để quản lý nhiều vấn đề như:
Mã học viên, tên , tuổi, quê quán, khoa, ngành đã tốt nghiệp, đang học, đã bị đuổihọc, tạm dừng bảo lưu, các môn đã học, đang học, chưa học, điểm vào trường,điểm ra trường, điểm môn đã học,…
• Khi công nghệ thông tin phát triển, tin học được ứng dụng vào nhiều lĩnh vực. Trongđó, một lĩnh vực có rất nhiều ứng dụng đó là quản lý học viên. Hơn nữa, việc ứngdụng internet vào lĩnh vực quản lý cũng nhiều. Chính vì vậy, trường đại học quốc giamuốn xây dựng một hệ thống quản lý học viên và các hoạt động của học viên trênmáy tính và có sử dụng những ứng dụng của internet.
3
MỤC TIÊU
Trình bày được đặc điểm chung của ngôn ngữ C#
Mô tả về .NET và vai trò của C# trong đó
Mô tả công cụ Visual Studio 2008
Xây dựng được ít nhất 01 chương trình C# có hoạt động đơn giản
4
NỘI DUNG
Giới thiệu chung về C#1
Giới thiệu về .NET2
Giới thiệu về Visual Studio.NET3
Làm việc với Visual Studio 20084
Lập trình ứng dụng bằng ngôn ngữ C# trên Visual Studio 2008.5
5
• Ngôn ngữ lập trình C# là gì?
• Đặc điểm chính của C#
• Ngôn ngữ C# và các ngôn ngữ khác
• Soạn thảo và biên dịch chương trình C#
1. GIỚI THIỆU VỀ C#
6
• C# là ngôn ngữ lập trình đơn giản, an toàn, hiện đại, hướng đối tượng, đặt trọng
tâm vào internet, có khả năng thực thi cao trong môi trường .NET.
• Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft. Trong đó, người dẫn
đầu là Anders Hejlsberg và Scott Wiltamuth.
• Phát hành phiên bản đầu tiên vào tháng 7 năm 2000.
1.1 C# LÀ GÌ?
7
• Hỗ trợ lập trình cấu trúc, lập trình hướng đối tượng, hướng thành phần;
• Mạnh mẽ và mềm dẻo, kiểm soát và xử lý ngoại lệ;
• Ít từ khóa;
• Cơ chế tự động thu dọn rác;
• Chỉ cho phép đơn kế thừa;
• Hỗ trợ khái niệm interface và property;
• Lớp object là cha của tất cả các lớp, mọi lớp đều dẫn xuất từ lớp object.
1.2. MỘT SỐ ĐẶC ĐIỂM CỦA NGÔN NGỮ C#
8
Có hai cách để soạn thảo, biên dịch và thực thi cho chương trình C# đó là:
• Sử dụng chương trình soạn thảo văn bản bất kỳ rồi sử dụng command line để biêndịch và thực thi.
• Sử dụng môi trường phát triển tích hợp (IDE).
1.3. SOẠN THẢO VÀ BIÊN DỊCH CHƯƠNG TRÌNH C#
Biên dịch chương trình C#
• Ngôn ngữ C# biên dịch chương trình ra mã trung gian (MSIL).
• Sau đó thực hiện bằng cách thông dịch hoặc biên dịch trong từng máy ảotương ứng.
QLSV.cs C# CompilerQLSV.exe
hoặcQLSV.dll
CLR trên Windows
Thực thi trên Windows
CLR trên Linux
Thực thi trên Linux
Thực thi trên MacOS
CLR trên MacOS
MSIL
9
Sử dụng chương trình soạn thảo văn bản• Dùng bất kỳ một trình soạn thảo văn bản để lập trình.• Lưu tập tin dưới dạng *.cs.• Dùng command line để biên dịch và thực thi tập tin nguồn. Mẫu dòng lệnh biên
dịch là:csc.exe [/out: <file thực thi>] <file nguồn>
Ví dụ:csc.exe /out:C:\QLSV.exe d:\QLSV.cs
Sử dụng IDE
• Dùng bộ IDE của VS.NET
• Mở chương trình VS.NET đã được cài trên máy.
• Tạo mới một chương trình.
• Soạn thảo chương trình trong cửa sổ.
• Lưu tập tin.
• Biên dịch và chạy chương trình.
1.3. SOẠN THẢO VÀ BIÊN DỊCH CHƯƠNG TRÌNH C# (tiếp theo)
10
Các loại ứng dụng C#
• Chương trình Console (TUI)
Giao tiếp với người dùng bằng bàn phím
Không có giao diện đồ họa (GUI)
• Chương trình Windows Form
Giao tiếp với người dùng bằng bàn phím và mouse
Có giao diện đồ họa và xử lý sự kiện
• Chương trình Web Form
Kết hợp với ASP .NET, C# đóng vài trò xử lý bên dưới (underlying code)
Có giao diện đồ họa và xử lý sự kiện
1.3. SOẠN THẢO VÀ BIÊN DỊCH CHƯƠNG TRÌNH C# (tiếp theo)
11
1.4. CẤU TRÚC CHƯƠNG TRÌNH C#
PROPERTIESOn passing, 'Finish' button: Goes to Next SlideOn failing, 'Finish' button: Goes to Next SlideAllow user to leave quiz: At any timeUser may view slides after quiz: At any timeUser may attempt quiz: Unlimited times
13
• Mối quan hệ giữa C# và microsoft.NET
• Thực thi một chương trình .NET
• Kiến trúc của Microsoft.NET
• Các thành phần trong .NET framework
• Vai trò của CLR và MSIL
• IDE
2. GIỚI THIỆU VỀ .NET
14
• Ngôn ngữ C# ra đời cùng với .NET
• Ngôn ngữ C# là một ngôn ngữ độc lập, có thể sinh ra mã đích dùng trong môi
trường .NET. Do vậy nó được coi như thiết kế riêng để phát triển công nghệ
Microsoft’s .NET Framework.
2.1. C# VÀ .NET
15
• .NET có thể hiểu là môi trường thực thi mới và thư viện lớp cơ sở cải tiến.
• Các ứng dụng .NET chạy trên nền .NET framework.
• 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, sau đó được thông dịch qua mã máy lúc thực thi nhờ vào CLR.Do vậy, người ta nói .NET hỗ trợ đa ngôn ngữ.
• Hỗ trợ thực thi chéo giữa các ngôn ngữ.
• Microsoft.NET do microsoft phát hành tháng 11/2000
2.2. ĐẶC ĐIỂM CỦA .NET
16
MSILCLR
C++ Compiler
C# Compiler
J# .NET Compiler
CT C#.NET
CT VB.NET
CT C++.NET
CT J#.NET
VB .NET Compiler
2.3. THỰC THI MỘT ỨNG DỤNG .NET
17
• .NET Framework: là phần quan trọng nhất của .NET, là nền tảng cho cho công nghệ.NET, cung cấp tập hợp class library thường dùng và quản lý sự thực thi của cácchương trình .NET
• Framework là bộ khung phát triển ứng dụng:
Bốn ngôn ngữ chính:C#, VB.NET, C++.NET, Jscript.NET
Common Language Runtime – CLR (.NET Runtime): tương tự máy ảo Java
Bộ thư viện Framework Class Library - FCL
2.4. .NET FRAMEWORK
18
Kiến trúc của .NET framework
2.4. .NET FRAMEWORK (tiếp theo)
19
.NET Framework - CLR
• Là bộ thực thi ngôn ngữ chung: Common Language Runtime – CLR.
• Vai trò chính CLR: quản lý sự thực thi mã, biên dịch, quản lý bộ nhớ, kiểm traan ninh, …
• CLR chuyển MSIL thành mã máy lúc runtime quá trình chuyển này gọi là Just – In –Time Compilation hay JIT compiling.
2.4. .NET FRAMEWORK (tiếp theo)
20
.NET Framework - CTS
• Common Type System: CTS
• Mục đích hỗ trợ thực thi chéo ngôn ngữ
• CTS định nghĩa kiểu dữ liệu tiền định và có sẵn trong IL, tất cả ngôn ngữ .NET sẽđược sinh ra mã cuối trên cơ sở kiểu dữ liệu này.
…int…
…Integer
…
…Int32
…
VB.NET IL C#
2.4. .NET FRAMEWORK (tiếp theo)
21
.NET Framework - CLS
• Common Language Specification: CLS
• Đảm bảo sự thực thi chéo
• Tất cả compiler hướng .NET đều phải tuân thủ theo CLS:
Có thể viết mã non-CLS nhưng sẽ ko đảm bảo thực thi chéo.
CLS là phần chung của các ngôn ngữ hướng đối tượng.
C#VB.NET
CLR/CTS/IL
C++
C#
Visual Basic
CLS
2.4. .NET FRAMEWORK (tiếp theo)
22
2.4. .NET FRAMEWORK (tiếp theo)
.NET Framework - FCL
• FCL là bộ thư viện nền tảng của .NET Framework.
• FCL bao gồm:
Các lớp cơ sở;
Các lớp dữ liệu và XML;
Các lớp cho dịch vụ web, ứng dụng web và ứng dụng windows.
MSIL là gì?
• Các ngôn ngữ sử dụng trong .NET (như C#, java,…) thường không biên dịch ngay
mã nguồn thành tập tin thực thi mà chúng được biên dịch thành một ngôn ngữ
trung gian MSIL hay còn gọi tắt là IL.
• Các tập tin IL của C# và IL của các ngôn ngữ khác là đồng nhất với nhau.
• Nhờ MSIL mà một ứng dụng viết bằng ngôn ngữ này có thể sử dụng thư viện (dạng
.dll) của ngôn ngữ khác
23
Namespace
• Tránh xung đột tên;• Truy cập đầy đủ qua tên;• Tất cả các dạng dữ liệu có tiếp đầu ngữ là tên
namespace.
Namespace SV1
Class A
Class B
Class CNamespace SV2
Class A
Class B
Class C
SV1.A…
SV2.A…
2.4. .NET FRAMEWORK (tiếp theo)
24
Namespace
• Hầu hết các lớp cơ sở chung của .NET đều thuộc namespace System
Lớp CS Array thuộc System → System.Array
• .NET đề nghị tất cả kiểu do người dùng định nghĩa phải nằm trong 1 namespace
UniversityName
sinhvien
Khoa
Tên namespace
Tên lớp
2.4. .NET FRAMEWORK (tiếp theo)
PROPERTIESOn passing, 'Finish' button: Goes to Next SlideOn failing, 'Finish' button: Goes to Next SlideAllow user to leave quiz: At any timeUser may view slides after quiz: At any timeUser may attempt quiz: Unlimited times
26
• Visual Studio.NET là gì?
• Đặc điểm của VS.NET
• Cài đặt VS.NET
• Sử dụng VS.NET
• Viết một chương trình C# đơn giản
3. GIỚI THIỆU VỀ VISUAL STUDIO .NET
27
• Visual studio.NET là một môi trường tích hợp triển khai phần mềm. Nó được thiết kếđể lập ra một tiến trình viết mã, gỡ rối, và biên dịch cho phần mềm.
• Visual studio.NET gồm có:
Text Editor: để viết đoạn mã C#
Design view editor: thiết kế giao diện người dùng
Các cửa sổ hỗ trợ
Biên dịch trong lòng môi trường: biên dịch
Một Intergate Debugger: gỡ rối
Intergated MSDN help: gọi tài liệu MSDN
Truy cập đến một chương trình khác: kết nối tiện ích
3.1. KHÁI NIỆM VS.NET
28
-
• Hỗ trợ lập trình đa ngôn ngữ
• Độc lập với hệ điều hành.
• Xây dựng ứng dụng nhanh chóngdễ dàng.
• Hỗ trợ xây dựng ứng dụng chonhiều thiết bị.
• Môi trường thiết kế trực quan.
• Hướng đến các ứng dụng trêninternet.
Cài đặt Visual Studio 2008 (Phần này hướng dẫn cài trực tiếp trên máy tính)
• Cài windows
• Cài phần mềm Visual Studio 2008
• Cài MSDN
• Cài SQL server 2005
3.2. ĐẶC ĐIỂM CỦA VISUAL STUDIO .NET
29
• Mở chương trình Vivual Studio 2008
• Mở mới một chương trình:
Vào File -> New -> Project -> Chọn các template tương ứng ->Cửa sổ tương ứng đểthiết kế và soạn thảo chương trình C# -> biên dich và chạy chương trình.
• Mở một project đã có:
Vào File -> Open -> Project/Solution -> Thư mục tương ứng -> soạn thảo ->biêndịch/chạy chương trình.
• Một chương trình VS.NET tạo ra đã có sẵn một khung sườn cho chương trình (Nócho phép tạo một ứng dụng rỗng).
3.3. SỬ DỤNG VS.NET
30
Các template
Template Những mã C# và tuỳ chọn biên dịch được tạo ra
Windows Application Một mẫu trống cơ bản
Class Library Một lớp .NET có thể được gọi bởi các mã khác
Windows Control Library Một lớp .NET có thể được gọi bởi mã khác và có một giao diện người dùng
ASP.NET Web Application Một ASP.NET site web cơ sở: trang ASP.NET và lớp C# tạo ra HTML gửi
đến trình duyệt từ các trang này
ASP.NET Web Service Một lớp C# hành động như một Web service trọn vẹn
Web Control Library Một control có thể được gọi lên bởi trang ASP.NET, để tạo ra mã HTML đưa
bề mặt của một điều khiển khi thể hiện trên trình duyệt.
Console Application Một ứng dụng chạy tại chế độ dòng lệnh hay của một sổ console
Windows Service Một dịch vụ chạy trên nền Windows NT và Windows 2000
Empty Project Một ứng dụng rỗng
Empty Web Project Như empty project nhưng các cài đặt biên dịch được cài vào cấu trúc trình
biên dịch để tạo mã cho trang AS.NET.
New Project In Existing Folder Những tập tin dự án mới cho một empty project
3.3. SỬ DỤNG VS.NET ( tiếp theo)
31
3.4. XÂY DỰNG ỨNG DỤNG C# ĐƠN GIẢN SỬ DỤNG VS.NET
PROPERTIESOn passing, 'Finish' button: Goes to Next SlideOn failing, 'Finish' button: Goes to Next SlideAllow user to leave quiz: At any timeUser may view slides after quiz: At any timeUser may attempt quiz: Unlimited times
33
TÓM LƯỢC CUỐI BÀI
• Nắm được khái niệm về ngôn ngữ lập trình C#
• Nắm được đặc trưng chính của ngôn ngữ C#
• Nắm được khái niệm .NET và kiến trúc của .NET cũng nhưmối quan hệ của C# và .NET
• Sử dụng cơ bản phần mềm Visual Studio 2008
• Viết ứng dụng đơn giản sử dụng ngôn ngữ C#
PROPERTIESOn passing, 'Finish' button: Goes to Next SlideOn failing, 'Finish' button: Goes to Next SlideAllow user to leave quiz: At any timeUser may view slides after quiz: At any timeUser may attempt quiz: Unlimited times
PROPERTIESAllow user to leave interaction: AnytimeShow ‘Next Slide’ Button: Don't showCompletion Button Label: Next Slide
PROPERTIESAllow user to leave interaction: AnytimeShow ‘Next Slide’ Button: Don't showCompletion Button Label: Next Slide