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

Bài giảng lập trình windows tổng quan net , ngôn ngữ c 1055587

84 2 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

Tiêu đề Tổng Quan .NET Ngôn Ngữ C#
Định dạng
Số trang 84
Dung lượng 1,85 MB

Nội dung

BFramework (CLR, CTS, CLS, MSIL…, garbage collection, namespace), tổng quan ngôn ngữ C. Mời các bạn cùng tham khảo nội dung chi tiết. TỔNG QUAN .NET NGÔN NGỮ C Nội dung 1. Giới thiệu .NET Framework 1. CLR, CTS, CLS, MSIL… 2. Garbage collection 3. Namespace 2. Tổng quan ngôn ngữ C 1. Đặc điểm ngôn ngữ 2. Quá trình biên dịch CT C 3. Các loại CT C 4. Cấu trúc chương trình C ài giảng Lập trình Windows Tổng quan .Net , ngôn ngữ C trình bày các nội dung: Giới thiệu .NET 5. Chương trình C đơn

Trang 1

T NG QUAN .NET  Ổ

Trang 3

IDE thì cung cấp một môi trường

giúp chúng ta triển khai dễ dàng,

và nhanh chóng các ứng dụng

dựa trên nền tảng NET.

 Chương trình nền tảng cho công

nghệ NET

 Cung cấp tập hợp class library

Base Framework Classes Data and XML Classes Custom Classes

C# VB.NET J# C++ …

XML Web Service

Web Forms

Windows Forms ASP.NET

Trang 4

ng d ng c a .NET Framework

 Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và ứng dụng client với Extensible Markup Language (XML).

 Tập hợp dịch vụ XML Web, như Microsoft NET My Services cho phép nhà phát triển đơn giản và tích hợp người dùng kinh nghiệm.

 Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, và BizTalk Server, tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML Web và các ứng dụng.

 Các phần mềm client như Windows XP và Windows CE giúp người phát triển phân phối sâu và thuyết phục người dùng kinh nghiệm thông qua các dòng thiết bị.

 Nhiều công cụ hỗ trợ như Visual Studio NET, để phát triển các dịch vụ Web XML, ứng dụng trên nền Windows hay nền web

Trang 5

.NET 1.1  (Apr­2003)

VS .NET 2003 Default: Server 2003

.NET 3.5  (Nov­2007) VS.NET 2008

Default: Windows 7

.NET 3.0  (Nov­2006) Default: Windows  Vista, Server 2008

.NET 2.0  (Nov­2005) VS.NET 2005 

Trang 6

Đ c đi m c a  ng d ng .NET ặ ể ủ ứ ụ

Language)

CLR (Common Language RunTime)

(dotnetfx.exe) để chạy ứng dụng NET trên máy client

Trang 7

Đ c đi m c a  ng d ng .NET ặ ể ủ ứ ụ

CT C#.NET

CT VB.NET

CT J#.NET

VB NET Compiler

1011010 1011010 1011010

Programmer

Trang 8

 NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thư viện lớp NET Framework CLR là nền tảng của NET Framework.

Language (CIL)

provide a language-neutral platform for application development and execution

Trang 9

 Theo quan điểm của người lập trình, NET có thể hiểu như môi trường thực thi mới và thư viện lớp cơ sở cải tiến

management, security check

tượng của các kiểu dữ liệu được dùng lại, nó cho phép chúng ta có thể phát triển những ứng dụng từ những ứng dụng truyền thống command-line hay những ứng dụng có giao diện đồ họa (GUI) đến những ứng dụng mới nhất

Trang 10

 Common Type System (CTS):

 CTS đảm bảo rằng những mã nguồn được quản lý thì được

tự mô tả (selfdescribing).

 Mã nguồn được quản lý có thể sử dụng những kiểu được quản lý khác và những thể hiện, trong khi thúc đẩy nghiêm ngặt việc sử dụng kiểu dữ liệu chính xác và an toàn.

 Mục đích hỗ trợ thực thi chéo ngôn ngữ

 Đị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

… Integer

… Integer

… Int32

… Int32

… int

… int

Trang 11

 Tất cả compiler hướng NET đều phải tuân thủ theo CLS

thi chéo

 IL phân biệt loại ký tự, VB.NET ko phân biệt, CLS báo rằng ko cho phép 2 định danh chỉ khác nhau về kiểu ký tự, do đó VB.NET có thể hoạt động trong CLS

Trang 13

 Trong NET Framework, chương trình không được biên dịch vào các 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 gọi là Microsoft Intermediate

Language (MSIL).

 IL

mã máy nhanh hơn

JIT compiling

Trang 14

• Mã nguồn C# được biên dịch vào MSIL khi chúng ta build

project Mã MSIL này được lưu vào trong một tập tin trên đĩa.

• Khi chúng ta chạy chương trình, thì MSIL được biên dịch một

lần nữa, sử dụng trình biên dịch Just-In-Time (JIT) Kết quả là

mã máy được thực thi bởi bộ xử lý của máy.

Trang 15

thư viện động

các kiểu và phương thức được định nghĩa trong mă

tương ứng

phép kiểm tra phiên bản và tính trạng của assembly

T A ss

em bly

Trang 16

Tiến trình thực thi bởi một chương trình C#:

các Assembly manifest và quyền hạn chạy của chương trinh trên hệ thống

chạy, chương trình sẽ không chạy

 Bit đầu tiên của code được nạp vào bộ nhớ và được biên dịch thành mã nhị phân từ IL bởi JIT

bộ nhớ

Trang 17

.NET Framework

(CLR)

Windows (OS khác)

Legacy Software (unmanaged code)

Legacy Software (unmanaged code)

Common Language Runtime Managed Executable

Trang 18

 Thời gian chạy NET hoàn toàn phụ thuộc vào garbage collector instead

 GC là một chương trình hỗ trợ việc thu dọn bộ nhớ

 Thỉnh thoảng NET sẽ kiểm tra xem vùng heap đầy chưa để

nó tiến hành thu dọn, và nó gọi đây là tiến trình thu dọn rác.

 Trình thu dọn rác sẽ kiểm tra các tham chiếu từ mã của bạn,

ví dụ các tham chiếu từ mã của bạn đến các đối tượng được lưu trên heap được nhận dạng, nó có nghĩa là đối tượng đó vẫn còn tham chiếu, các đối tượng không còn tham chiếu nữa

sẽ bị huỷ.

 Một điều đặc biệt quản trọng là tính không định trước của trình thu gom rác Bạn không thể bảo đảm được khi nào trình thu dọn rác sẽ được gọi; nó sẽ được gọi khi CLR cảm thấy cần (nếu bạn không thực hiện lời gọi tường minh).

Trang 20

 GC xuất hiện (không định trước) khi ko đủ bộ nhớ để cung cấp cho ứng dụng

managed heap, xoá nếu ko còn tham chiếu tới

Trang 21

ngữ là tên namespace

Namespace CS1

Class A Class B Class C

Class A Class B Class C

Namespace CS2

Class A Class B Class C

Class A Class B Class C

CS1.A…

CS2.A…

Trang 22

namespace System

trong 1 namespace

Customer Personel

CompanyName

Tên lớp Tên

namespace

Trang 23

Các l p .NET Framework ớ

 Khá đa dạng & đầy đủ:

Trang 24

Các l p .NET Framework ớ

 Đặc tính lõi: IL, kiểu dữ liệu trong CTS

 NET attributes and reflection

Trang 25

Namespace Description

System Ch a l p toán h c, chuy n đ i d  li u ứ ớ ọ ể ổ ữ ệ System.IO Các 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 ớ

Trang 26

.NET Framework X.Y

.NET App

.NET App

.NET App

.NET App .NET .NET App App

Trang 27

Tóm t t ắ

 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

Trang 30

Ngôn ng  C# ữ

Trang 31

 Bổ sung khái niệm "property" cho các lớp

 Khái niệm delegate & event

Trang 32

C# ­ m nh m  & b n v ng ạ ẽ ề ữ

Trang 33

 Việc cài đặt App C# như là tái phân phối các thành phần NET

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…

Trang 35

Quá trình d ch CT C# ị

 MSIL: tập tin exe hoặc dll

 Dùng kỹ thuật JIT (just-in-time) để tăng tốc độ

Trang 36

Quá trình d ch CT C# ị

Hello.cs C# Compiler

Hello.exe hoặc Hello.dll

Hello.exe hoặc Hello.dll

CLR trên Windows

CLR trên Windows

Thực thi trên Windows

Thực thi trên Windows

CLR trên Linux

CLR trên Linux trên LinuxThực thi

Thực thi trên Linux

Thực thi trên MacOS

CLR trên MacOS MSIL

Trang 37

Các lo i  ng d ng C# ạ ứ ụ

(underlying code)

Trang 38

ng d ng Console

Trang 39

UD WinForm và Web Form

Trang 40

T o  ng D ng Console ạ Ứ ụ

Trang 41

static void Main( string [] args)

{

Console Write( "Hello World!" );

Console ReadLine();

} }

}

Trang 42

static void Main( string [] args){ {

Console Write( "Hello World!" );

Console ReadLine();

}

}

}

Trang 43

Câu l nh ệ

đây là phương thức Main)

namespace HelloWorld

{

class Program {

static void Main( string [] args)

{

Console Write( "Hello World!" );

Console ReadLine();

} } }

Các câu lệnh Phương thức Main

Trang 44

static void Main( string [] args)

{

Console Write( "Hello World!" );

Console ReadLine();

} }

Trang 45

trình và các câu lệnh

chú thích XML

Trang 46

Hai cách t o chú thích c  b n ạ ơ ả

/* Chương trình C# đầu tiên

In ra câu chào "Hello World" */

Trang 47

 Chú thích XML bắt đầu với triple slash (“///”) và các tag của XML

Trang 48

mment

Trang 49

/// <summary>

/// Class temperature provides functions which convert

/// among various temperature scales

/// <param name="degreesCelsius"> Degrees Celsius </param>

/// <returns> Returns degrees Fahrenheit </returns>

public static int CelsiusToFahrenheit( int degreesCelsius)

Trang 50

/// <param name="degreesCelsius"> Degrees Celsius </param>

/// <returns> Returns degrees Fahrenheit </returns>

public static int CelsiusToFahrenheit( int degreesCelsius) {

return (( int )((9/5)*degreesCelsius) + 32);

}

/// <summary>

/// Converts degrees Fahrenheit to degrees Celsius

/// </summary>

/// <param name="degressFahrenheit"> Degrees Fahrenheit </param>

/// <returns> Returns degrees Celsius </returns>

public static int FahrenheitToCelsius( int degressFahrenheit) {

return (( int )((5/9)*(degressFahrenheit - 32)));

C# Code with XML Comm

ent C# Code with XML Comm

ent

Trang 52

T o WinForm App ạ

T o project: Windows App

Trang 54

T o WinForm App ạ

Các thành phần của một project: (cửa sổ Solution)

thư mục lưu trữ như sau:

Trang 55

T o WinForm App ạ

Các kiểu file của các thành phần trong project

Các file lưu trữ chính

*.cs: tập tin lưu code của form viết bằng C#

*.Designer.cs: tập tin lưu phần thiết kế của form

*.resx: tập tin lưu tài nguyên của form

*.csproj: tập tin quản lý ứng dụng (file dùng để

mở project)

*.sln: tập tin quản lý đồ án (khi cần phối hợp

nhiều project trong ứng dụng)

Trang 57

Giao di n thi t k  form ệ ế ế

Giao di n thi t k  form ệ ế ế

Form chính c a  ng d ngủ ứ ụ

Ch a có ư

control

Trang 60

Thêm control v à o form

Trang 61

Code c a ph n design ủ ầ

Code c a ph n design ủ ầ

Khai báo các đ i 

tượng control trên  Form1

Ch a code kh i t o ứ ở ạ

control Form1.Designer.cs

Trang 62

Code c a ph n design ủ ầ

Code c a ph n design ủ ầ

T o đ i tạ ố ượng

L n lầ ượt  khai báo các  thu c tính 

cho các  control InitializeComponent

Trang 63

Code c a ph n design ủ ầ

Code c a ph n design ủ ầ

InitializeComponent

Đ a các control vào danh ư

sách control c a Form1

Trang 64

S a thu c t ử ộ

S a thu c t ử ộ í nh c a control nh c a control ủ ủ

Đ i tên 

thành  txtNum1

Thay đ i các giá tr  qua c a ổ ị ử

s  properties ­> VS t  c p ổ ự ậ

nh t code

Trang 65

Ph n x  lý ầ ử

Ph n x  lý ầ ử

Khi click vào Add -> cộng 2 giá trị và xuất kết quả

Button Add cung cấp sự kiện click

Form sẽ được cảnh báo khi Add được click

Form sẽ lấy dữ liệu từ 2 textbox và cộng -> kết quả

Button đưa ra sự kiện click: đối tượng publish

Form quan tâm đến sự kiện click của button, Form có sẽ

phần xử lý ngay khi button click.

Phần xử lý của form gọi là Event Handler

Form đóng vai trò là lớp subscribe

Trang 66

Khai b á o event handler

tạo event handler cho sự kiện này.

DClick

C a s  qu n lý ử ổ ả

event c a BtnAdd

event

Trang 67

Khai b á o event handler

Event handler cho  button Add

Trang 69

Vi t ph n x  lý ế ầ ử

Vi t ph n x  lý ế ầ ử

Lấy giá trị của 2 textbox, cộng kết quả và xuất ra MeesageBox

Trang 70

Tóm t t ắ

Trang 71

Câu h i và bài t p ỏ ậ

Câu hỏi 1: Một chương trình C# có thể chạy trên bất cứ máy

nào?

Trả lời 1:

có Common Language Runtime (CLR) được cài đặt

máy không có CLR thì chúng ta sẽ nhận được một lỗi

chúng ta sẽ được bảo rằng thiếu tập tin DLL

Trang 72

Câu h i và bài t p ỏ ậ

Câu hỏi 2: Nếu muốn đưa chương trình mà ta viết cho một

người bạn thì tập tin nào mà chúng ta cần đưa?

Trả lời 2:

 Thường cách tốt nhất là đưa chương trình đã biên dịch Điều này có nghĩa rằng sau khi mã nguồn được biên dịch, chúng ta sẽ có một chương trình thực thi (tập tin có phần

mở rộng *.exe )

 Và những người bạn của chúng ta không cần thiết phải

có trình biên dịch C# Họ chỉ cần có C# runtime trên máy tính (như CLR của Microsoft) là có thể chạy được chương trình của chúng ta

Trang 73

Câu h i và bài t p ỏ ậ

Câu hỏi 3: Sau khi tạo ra được tập tin thực thi exe Có cần

thiết giữ lại tập tin nguồn không?

Trả lời 3:

 Nếu chúng ta từ bỏ tập tin mã nguồn thì sau này sẽ rất khó khăn cho việc mở rộng hay thay đổi chương trình, do

đó cần thiết phải giữ lại các tập tin nguồn

tập tin thực thi

phải giữ các tập tin khác như là các tài nguyên bên ngoài các icon, image, form Chúng ta sẽ lưu giữ những tập tin

Trang 74

Câu h i và bài t p ỏ ậ

Câu hỏi 4: Nếu trình biên dịch C# đưa ra một trình soạn

thảo, có phải nhất thiết phải sử dụng nó?

Trả lời 4:

cứ trình soạn thảo văn bản nào và lưu mã nguồn dưới dạng tập tin văn bản Nếu trình biên dịch đưa ra một trình soạn thảo thì chúng ta nên sử dụng nó

ta có thể sử dụng nó Một số các tiện ích soạn thảo mã nguồn có thể giúp cho ta dễ dàng tìm các lỗi cú pháp, giúp tạo một số mã nguồn tự động đơn giản

Trang 75

 Nói chung cách tốt nhất là chúng ta nên xem tất cả những cảnh báo để sửa chữa chúng, một chương trình tạm gọi là đạt yêu

Trang 76

Câu h i và bài t p ỏ ậ

Câu hỏi thêm

lập trình tốt?

chương trình?

biên dịch mã nguồn cs và lệnh này gọi chương trình

nào?

mã nguồn C#?

Trang 77

Câu h i và bài t p ỏ ậ

Câu hỏi thêm

mã nguồn C# hợp lệ hay không? Có thể biên dịch được hay không?

tin exe thì tập tin này là ngôn ngữ gì?

thực hiện đúng như mong đợi của chúng ta, thì điều gì chúng ta cần phải làm?

Trang 78

Câu h i và bài t p ỏ ậ

Câu hỏi thêm

thể tồn tại bên ngoài lớp như C/C++?

Java, hay bất cứ ngôn ngữ cấp cao nào mà bạn đã biết?

có thì nó được quản lý như thế nào?

xảy ra nếu như ngôn ngữ lập trình không hỗ trợ namespace?

Trang 79

Bài t p ậ

chương trình thực hiện điều gì?

double circum, area;

area = PI * radius* radius;

circum = 2 * PI * radius;

// in kết quả Console.WriteLine(“Ban kinh = {0}, PI = {1}”, radius, PI);

Console.WriteLine(“Dien tich {0}”, area);

Console.WriteLine(“Chu vi {0}”, circum);

Trang 80

Bài t p ậ

chương trình thực hiện điều gì?

}

}

Trang 81

Bài t p ậ

Bài tập 3: Sửa lỗi và biên dịch chương trình sau

class Test

Trang 82

Bài t p ậ

Bài tập 4: Sửa lỗi và biên dịch chương trình sau

class Test

Trang 83

Bài t p ậ

Bài tập 5: Viết chương trình xuất ra bài thơ:

Rằm Tháng Giêng

Rằm xuân lồng lộng trăng soi,

Sông xuân nước lẫn màu trời thêm xuân

Giữa dòng bàn bạc việc quân

Khuya về bát ngát trăng ngân đầy thuyền

Hồ Chí Minh

Trang 84

Tài li u tham kh o ệ ả

Apress, 2000

2001

Wiltamuth, Microsoft Corp

Ngày đăng: 10/04/2024, 08:48

TỪ KHÓA LIÊN QUAN