Công nghệ phần mềm - Lập trình nâng cao

Khái niệm hướng đối tượng tạo cơ sở cho tất cả

các ngôn ngữ lập trình hướng đối tượng hiện đại.

C# là một ngôn ngữ lập trình hướng đối tượng

được phát triển bởi Microsoft với mục đích xây

dựng một ngôn ngữ lập trình đơn giản, hiện đại

dành cho phát triển ứng dụng.

Mục đích môn học cung cấp cho sinh viên

Tiếp cận lập trình hướng đối tượng sử dụng ngôn ngữ C#,

Một nền tảng vững chắc về phương pháp lập trình hướng đối

tượng

Nguyên tắc cơ bản của ngôn ngữ lập trình C#

pdf 44 trang dienloan 15160
Bạn đang xem 20 trang mẫu của tài liệu "Công nghệ phần mềm - Lập trình nâng cao", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Công nghệ phần mềm - Lập trình nâng cao

Công nghệ phần mềm - Lập trình nâng cao
Slide 1 of 45Ver. 1.0
Object-Oriented Programming Using C#
LẬP TRÌNH NÂNG CAO
Bộ môn: Công nghệ phần mềm
GV: Lý Anh Tuấn
Slide 2 of 45Ver. 1.0
Object-Oriented Programming Using C#
Khái niệm hướng đối tượng tạo cơ sở cho tất cả
các ngôn ngữ lập trình hướng đối tượng hiện đại.
C# là một ngôn ngữ lập trình hướng đối tượng
được phát triển bởi Microsoft với mục đích xây
dựng một ngôn ngữ lập trình đơn giản, hiện đại
dành cho phát triển ứng dụng.
Mục đích môn học cung cấp cho sinh viên
Tiếp cận lập trình hướng đối tượng sử dụng ngôn ngữ C#,
Một nền tảng vững chắc về phương pháp lập trình hướng đối
tượng
Nguyên tắc cơ bản của ngôn ngữ lập trình C#.
Cơ sở
Slide 3 of 45Ver. 1.0
Object-Oriented Programming Using C#
Nội dung buổi học:
Giải thích các đặc tính của phương pháp
hướng đối tượng
Mô tả các pha của phương pháp hướng đối
Định nghĩa lớp trong C#
Khai báo biến
Viết và chạy chương trình C#
Mục tiêu
Slide 4 of 45Ver. 1.0
Object-Oriented Programming Using C#
Hướng đối tượng là một phương pháp phát triển 
phần mềm dựa trên mô hình hóa một hệ thống 
thế giới thực
Một chương trình hướng đối tượng bao gồm các 
lớp - class và các đối tượng - object
Phương pháp hướng đối tượng
Slide 5 of 45Ver. 1.0
Object-Oriented Programming Using C#
Toyota CamrySuzuki Reno Honda Acura
Objects
Class
Phương pháp hướng đối tượng (tiếp)
Car
Slide 6 of 45Ver. 1.0
Object-Oriented Programming Using C#
Một đối tượng là một “thứ gì đó hữu hình” có thể 
được cảm nhận bởi các giác quan.
Một đối tượng có các đặc tính sau:
có trạng thái
có hành vi
được xác định duy nhất
Một đối tượng tương tác với các đối tượng khác 
thông qua thông điệp.
Nền tảng của hướng đối tượng
Slide 7 of 45Ver. 1.0
Object-Oriented Programming Using C#
Vị trí của ô tô là Trạng thái của nó
Sự di chuyển của ô tô là Hành vi của nó
Biển số XX 4C 4546 xác định 
duy nhất chiếc ô tô này
Nền tảng của hướng đối tượng (tiếp)
Slide 8 of 45Ver. 1.0
Object-Oriented Programming Using C#
Nhấp nháy đèn để truyền thông 
điệp tới các ô tô khác
Nền tảng của hướng đối tượng (tiếp)
Slide 9 of 45Ver. 1.0
Object-Oriented Programming Using C#
Câu hỏi?
Xác định hành vi có thể của các đối tượng sau:
1. Một chiếc điện thoại di động
2. Một máy nghe nhạc
Giải pháp:
1. Hành vi của điện thoại di động: Tắt, Rung, Kêu, và Gọi
2. Hành vi của máy nghe nhạc: Chạy, Dừng, Quay lại, và 
Chạy tiếp
Slide 10 of 45Ver. 1.0
Object-Oriented Programming Using C#
Câu hỏi?
Ông An và Bình đã đi đến nhà ga tàu để đặt vé để khởi 
hành vào thành phố Hồ Chí Minh ngày 3 tháng 12. Tại nhà 
ga, họ yêu cầu nhân viên bán vé tại quầy vé đặt giúp hai vé
loại cao cấp trên chuyến tàu nhanh. Hãy xác định:
1. Người nhận thông điệp trong tình huống này là ai?
2. Những phương thức mà người nhận thông điệp có thể sử 
dụng?
Giải pháp:
1. Người nhận thông điệp trong tình huống này là nhân viên tại 
quầy bán vé.
2. Nhân viên bán vé sẽ kiểm tra xem có sẵn hai vé như yêu cầu 
hay không. Nếu vé vẫn còn thì nhân viên bán vé sẽ nhập 
thông tin về khách hàng (tên, tuổi, ngày khởi hành, chỗ 
ngồi..), xác nhận đặt chỗ và thu tiền vé.
Slide 11 of 45Ver. 1.0
Object-Oriented Programming Using C#
Đặc điểm của phương pháp hướng đối tượng
Mô hình hóa thế giới thực (Realistic modeling)
Có thể sử dụng lại (Reusability)
Khả năng thay đổi mềm dẻo (Resilience to 
change)
Tồn tại dưới các dạng khác nhau (Existence as 
different forms)
Slide 12 of 45Ver. 1.0
Object-Oriented Programming Using C#
Câu hỏi?
Nêu rõ các tình huống có thể sử dụng lại:
1. Giấy tái chế.
2. Bơm có thể dùng lại (chẳng hạn máy bơm được sử 
dụng trong trạm nhiên liệu)
Giải pháp:
1. Không thể hiện tính sử dụng lại vì giấy chưa qua tái chế bị 
phá hủy trước khi giấy tái chế được sử dụng. Giấy chưa qua 
tái chế đã mất đi tính xác định của nó và không thể được xem
là giấy tái chế.
2. Thể hiện tính sử dụng lại vì một máy bơm có thể được sử 
dụng để hút nước hoặc xăng dầu. Không cần thiết sử dụng 
cùng một máy bơm cho cả hai trường hợp. Có thể sử dụng 
hai máy riêng biệt vì chúng đều thuộc về lớp “Pump”.
Slide 13 of 45Ver. 1.0
Object-Oriented Programming Using C#
Các pha sau trong tiến trình phát triển phần mềm:
Pha phân tích (The analysis phase)
Pha thiết kế (The design phase)
Pha thực thi (The implementation phase)
Các pha của hướng đối tượng
Slide 14 of 45Ver. 1.0
Object-Oriented Programming Using C#
Câu hỏi?
Là một thành viên của nhóm phát triển phần 
mềm, bạn được giao nhiệm vụ tạo ra một mô-đun 
phần mềm nhận và hiển thị các thông tin khách 
hàng như tên, tuổi, địa chỉ, số điện thoại. Xác định 
lớp bạn mà sẽ tạo ra và các phương thức của 
nó?
Giải pháp:
Lớp cần thiết là:
Khách hàng
Lớp sẽ có các phương thức là:
Nhận thông tin khách hàng
Hiển thị thông tin khách hàng
Slide 15 of 45Ver. 1.0
Object-Oriented Programming Using C#
Một chương trình là một tập hợp các câu lệnh để 
thực thi một nhiệm vụ cụ thể.
Ngôn ngữ lập trình sử dụng chương trình để phát 
triển ứng dụng phần mềm.
Trình biên dịch là một chương trình đặc biệt để
xử lý các câu lệnh được viết bằng một ngôn ngữ 
cụ thể và chuyển đổi chúng thành ngôn ngữ máy.
Quá trình chuyển đổi này được gọi là biên dịch.
Giới thiệu về C# 
Slide 16 of 45Ver. 1.0
Object-Oriented Programming Using C#
C# còn được gọi là C-Sharp, là một ngôn ngữ 
được được giới thiệu bởi Microsoft. 
C# được thiết kế đặc biệt để làm việc với nền 
tảng .NET của Microsoft.
Chúng ta sẽ tìm hiểu cấu trúc của chương trình 
C#.
Giới thiệu C# (Tiếp.) 
Slide 17 of 45Ver. 1.0
Object-Oriented Programming Using C#
Xem xét ví dụ sau:
public class Hello
{
public static void Main(string[] args)
{
System.Console.WriteLine("Hello, 
World! \n");
}
}
Lớp trong C# 
Slide 18 of 45Ver. 1.0
Object-Oriented Programming Using C#
public class Hello
{
public static void 
Main(string[] args)
{
System.Console.WriteLine(
"Hello, World! \n");
}
}
Lớp trong C# (Tiếp.) 
Từ khóa class
được sử dụng để 
khai báo một lớp
Slide 19 of 45Ver. 1.0
Object-Oriented Programming Using C#
public class Hello
{
public static void 
Main(string[] args)
{
System.Console.WriteLine(
"Hello, World! \n");
}
}
Tên class
Được sử dụng để xác 
định tên class
Lớp trong C# (Tiếp.)
Slide 20 of 45Ver. 1.0
Object-Oriented Programming Using C#
public class Hello
{
public static void 
Main(string[] args)
{
System.Console.WriteLine(
"Hello, World! \n");
}
}
Hàm Main()
Là điểm khởi đầu của 
toàn bộ ứng dụng
Nó được sử dụng để 
tạo các đối tượng và 
gọi hàm thành viên
Lớp trong C# (Tiếp.)
Slide 21 of 45Ver. 1.0
Object-Oriented Programming Using C#
public class Hello
{
public static void 
Main(string[] args)
{
System.Console.WriteLine(
"Hello, World! \n");
}
}
System.Console.WriteLine()
Hiển thị nội dung trong nháy kép ra 
màn hình
Lớp trong C# (Tiếp.)
Slide 22 of 45Ver. 1.0
Object-Oriented Programming Using C#
public class Hello
{
public static void 
Main(string[] args)
{
System.Console.WriteLine(
"Hello, World! \n");
}
}
Ký tự đặc biệt
Hiển thị xuống dòng mới. 
Ký tự đặc biệt khác như: 
\t, \b và \a
Lớp trong C# (Tiếp.)
Slide 23 of 45Ver. 1.0
Object-Oriented Programming Using C#
Demo: Tạo lớp
Bài tập:
Là thành viên của một nhóm phát triển đồ chơi 
JoyToys, Inc., Bạn được giao nhiệm vụ tạo ra 
một mô-đun xe đạp nhận và hiển thị thông tin 
về chiếc xe đạp. Khai báo lớp Bike và các hàm 
thành viên của nó. Hàm thành viên nhận thông 
tin về chiếc xe sẽ hiển thị thông điệp 
”Accepting Bike Details”.Tương tự, hàm thành 
viên hiển thị thông tin chiếc xe trên màn hình 
và hiển thị thông điệp: “Displaying Bike 
Details”.
Slide 24 of 45Ver. 1.0
Object-Oriented Programming Using C#
Một biến là một vị trí trong bộ nhớ có tên và giá 
trị.
Một biến gắn với một kiểu dữ liệu định nghĩa kiểu 
dữ liệu có thể được lưu trữ trong biến.
Khai báo biến
Slide 25 of 45Ver. 1.0
Object-Oriented Programming Using C#
Khai báo và khởi tạo biến theo cú pháp sau:
 =;
Khai báo và khởi tạo biến
Slide 26 of 45Ver. 1.0
Object-Oriented Programming Using C#
Xét ví dụ khởi tạo biến 
sau:
int class_rank=2;
Khai báo và khởi tạo biến (tiếp.)
Kiểu dữ liệu trong C#
Biểu thị các kiểu dữ liệu 
được lưu trữ trong biến. 
C# cung cấp nhiều kiểu 
dữ liệu, chẳng hạn như:
• char
• int
• float
• double
• bool
• string
Slide 27 of 45Ver. 1.0
Object-Oriented Programming Using C#
Kiểu dữ liệu trong C# 
Chúng ta tìm hiểu các kiểu dữ liệu trong C# thông 
qua các ví dụ sau:
Slide 28 of 45Ver. 1.0
Object-Oriented Programming Using C#
Name
Marks
Age
Vowel
string
float
int
char
= “Peter”
= 83.56
= 23
= ‘a’
Kiểu dữ liệu trong C# (tiếp.)
Slide 29 of 45Ver. 1.0
Object-Oriented Programming Using C#
Xét ví dụ khai báo và 
khởi tạo biến sau:
int class_rank=2;
Kiểu dữ liệu trong C#
Các kiểu dữ liệu sau được 
hỗ trợ bởi C#:
• Các kiểu giá trị
Num
Bộ nhớ được cấp phát
Biến được khai báo và khởi tạo
5
int Num;
Num=5;
Kiểu dữ liệu trong C# (tiếp.)
Cấp phát bộ nhớ của các biến kiểu giá trị
Slide 30 of 45Ver. 1.0
Object-Oriented Programming Using C#
Xét ví dụ khai báo và 
khởi tạo biến sau :
int class_rank=2;
Khai báo và khởi tạo biến
Kiểu dữ liệu trong C#
Các kiểu dữ liệu sau được 
hỗ trợ bởi C#:
• Các kiểu tham chiếu
string Str=“Hello”;
Str
0 1 2 3 4
H E L L O
Address
Cấp phát bộ nhớ của các biến kiểu string
Slide 31 of 45Ver. 1.0
Object-Oriented Programming Using C#
Xét ví dụ khai báo và 
khởi tạo biến sau :
int class_rank=2;
Khai báo và khởi tạo biến (Tiếp.)
Tên biến trong C#
Các quy tắc khai báo biến 
trong C#:
• Bắt đầu bằng chữ và dấu 
gạch dưới
• Không được chứa khoảng 
trống và ký tự đặc biệt
• Phải là duy nhất
• Có thể có nhiều ký tự
• Không được trùng với từ 
khóa
Slide 32 of 45Ver. 1.0
Object-Oriented Programming Using C#
Xét ví dụ khai báo và 
khởi tạo biến sau:
int class_rank=2;
Khai báo và khởi tạo biến (Tiếp.)
Ví dụ về biến đúng và không 
đúng trong C#
Name
#Score
Age
2Strank
Family_Size
Gender
Slide 33 of 45Ver. 1.0
Object-Oriented Programming Using C#
Xét ví dụ khai báo và 
khởi tạo biến sau :
int class_rank=2;
Khai báo và khởi tạo biến (Tiếp.)
Khởi tạo biến trong C#
Giá trị cụ thể cần lưu trữ 
trong một biến, có thể là số 
nguyên, số thập phân hoặc 
ký tự.
Slide 34 of 45Ver. 1.0
Object-Oriented Programming Using C#
Để hiểu cách thức nhận và lưu 
trữ vào biến, xét ví dụ sau:
int Number;
Number=
Convert.ToInt32(Console.
ReadLine());
Chấp nhận giá trị và lưu trữ trong biến thành viên
Console.ReadLine()
Được sử dụng để nhận 
đầu vào từ người sử 
dụng và lưu trữ vào biến
Slide 35 of 45Ver. 1.0
Object-Oriented Programming Using C#
Để hiểu cách thức nhận và lưu 
trữ vào biến, xét ví dụ sau:
int Number;
Number=
Convert.ToInt32(Console.
ReadLine());
Chấp nhận giá trị và lưu trữ trong biến thành viên (tiếp)
Convert.ToInt32()
Chuyển giá trị người 
dùng nhập sang kiểu int
Slide 36 of 45Ver. 1.0
Object-Oriented Programming Using C#
Chúng ta sẽ học cách viết, dịch, và chạy chương 
trình viết bằng C#
Viết và chạy chương trình với C#
Slide 37 of 45Ver. 1.0
Object-Oriented Programming Using C#
Một chương trình C# có thể viết sử dụng trình 
soạn thảo Notepad. Xem xét ví dụ sau:
using System;
class Car
{
//Member variables
string Engine;
int NoOfWheels;
//Member functions
void AcceptDetails()
Tạo một ví dụ chương trình C#
Từ khóa using được sử dụng để 
include namespaces trong chương 
trình
Chuỗi chú thích sử dụng ký hiệu //.
Biến thành viên dùng để lưu trữ giá 
trị cho class
Hàm thành viên được khai báo bên 
trong class được sử dụng để thực thi 
nhiệm vụ cụ thể.
Slide 38 of 45Ver. 1.0
Object-Oriented Programming Using C#
{
Console.WriteLine("Enter the Engine Model");
Engine = Console.ReadLine();
Console.WriteLine("Enter the number of 
Wheels");
NoOfWheels = 
Convert.ToInt32(Console.ReadLine());
}
public void DisplayDetails()
{
Console.WriteLine("The Engine Model is:{0}", 
Engine);
Console.WriteLine("The number of wheels 
are:{0}", NoOfWheels);
}
}
Tạo một ví dụ chương trình C# (tiếp)
Slide 39 of 45Ver. 1.0
Object-Oriented Programming Using C#
//Class để tạo thể hiện của class Car
class ExecuteClass
{
public static void Main(string[] args)
{
Car MyCar = new Car();
MyCar.AcceptDetails();
MyCar.DisplayDetails();
}
}
Tạo một ví dụ chương trình C# (tiếp)
class ExecuteClass được sử dụng 
thể hiện của class Car.
Slide 40 of 45Ver. 1.0
Object-Oriented Programming Using C#
Sau khi viết chương trình trong Notepad, chúng ta cần dịch 
và chạy nó để nhận kết quả đầu ra.
Trình biên dịch sẽ chuyển đổi mã thành mã máy để máy 
tính có thể hiểu được.
Các bước cần thiết để dịch và chạy chương trình C#.
1. Lưu mã được viết trong Notepad với tập tin mở rộng có đuôi 
.cs.
2. Để dịch mã, chúng ta vào Visual Studio 2005 Command 
Prompt. Chọn Start All Programs Microsoft Visual 
Studio 2005 Visual Studio Tools Visual Studio 2005 
Command Prompt. Cửa sổ Visual Studio 2005 Command 
Prompt được hiển thị để dịch chương trình.
3. Tại cửa sổ Visual Studio 2005 Command Prompt, Di 
chuyển tới thư mục chứa tập tin. 
Biên dịch và chạy chương trình C#
Slide 41 of 45Ver. 1.0
Object-Oriented Programming Using C#
4. Dịch chương trình sử dụng dòng lệnh sau:
csc ExecuteClass.cs
5. Để chạy chúng ta sử dụng dòng lệnh sau:
ExecuteClass.exe or ExecuteClass
Biên dịch và chạy chương trình C#
Slide 42 of 45Ver. 1.0
Object-Oriented Programming Using C#
Bài tập:
David là thành viên của đội phát triển phần
mềm Automatic Ranking dành cho cuộc thi 
đấu tennis. David được giao nhiệm vụ viết
chương trình. Chương trình sẽ nhận thông tin 
về người chơi tennis và hiển thị nó:
Name chứa nhiều nhất 25 ký tự.
Rank là một số
Bạn hãy giúp David viết chương trình này.
Demo: Tạo một chương trình C#
Slide 43 of 45Ver. 1.0
Object-Oriented Programming Using C#
Trong buổi học bạn đã được học:
Phương pháp HĐT, hệ thống bao gồm các đối tượng
tương tác với đối tượng khác.
Một đối tượng là một thực thể có thể có ranh giới vật lý. 
Tuy nhiên, nó sẽ có các đặc tính sau:
Trạng thái (State)
Hành vi (Behavior)
Định danh (Identity)
Một class bao gồm một tập các đối tượng cùng cấu trúc
và hành vi.
Nếu một đối tượng mô tả một hành động từ đối tượng
khác nó sẽ gửi thông điệp tới đối tượng đó.
Đối tượng nhận thông điệp được gọi là người nhận
(receiver), tập hành động đưa ra bởi người nhận cấu
thành phương thức.
Tổng kết
Slide 44 of 45Ver. 1.0
Object-Oriented Programming Using C#
Những đặc tính của phương pháp lập trình HĐT là:
Mô hình hóa thế giới thực - Realistic modeling
Khả năng sử dụng lại - Reusability 
Khả năng thay đổi mềm dẻo - Resilience to change
Tồn tại dưới các dạng khác nhau - Existence as different forms
Một mô hình hệ thống được xây dựng theo các pha: phân
tích, thiết kế và triển khai.
Mô hình giúp nhà phát triển hiểu đúng và cố gắng làm theo.
Trong C#, một lớp được tạo bằng việc sử dụng từ khóa class 
và được xác định bởi tên lớp.
Phương thức Console.WriteLine()được sử dụng để
hiện thị nội dung ra màn hình.
Main() là hàm đầu tiên được xử lý trong chương trình C#.
Tổng kết (tiếp).

File đính kèm:

  • pdfcong_nghe_phan_mem_lap_trinh_nang_cao.pdf