Giáo trình thực hành Lập trình hướng đối tượng - Bài thực hành số 10.1: Xây dựng và debug class cụ thể để chuẩn bị chuyển thành class tổng quát hóa

Trang 1  
MÔN : LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG  
Bài thực hành số 10.1 : Xây dựng và debug class cụ thể ₫ể chuẩn bị chuyển thành  
class tổng quát hóa  
I. Mục tiêu :  
ƒ
Giúp SV làm quen với việc chuẩn bị xây dựng class tổng quát hóa.  
II. Nội dung :  
ƒ
ƒ
ƒ
Viết code miêu tả class “Stack các số nguyên” cung cấp 2 tác vụ push() và pop() ₫ể  
cất/lấy lại từng số nguyên trên ₫ỉnh stack.  
Viết chương trình nhỏ thử dùng ₫ối tượng “Stack các số nguyên”, thử cất 10 số nguyên  
vào stack rồi lấy lại xem Stack có hoạt ₫ộng tốt không.  
Debug phần mềm và class Stack ₫ể ₫ảm bảo chúng chạy ₫úng chức năng.  
III. Chuẩn ₫ầu ra :  
Sinh viên nắm vững việc ₫ặc tả class cụ thể, nhận thức ₫ây là bước ₫ầu tiên nên làm ₫ể  
xây dựng class tổng quát hóa dễ dàng, ít rủi ro.  
ƒ
IV. Qui trình :  
1. Chạy VS .Net, chọn menu File.New.Project ₫ể hiển thị cửa sổ New Project.  
2. Mở rộng mục Visual C# trong TreeView "Project Types", chọn mục Windows, chọn icon  
"Console Application" trong listbox "Templates" bên phải, thiết lập thư mục chứa Project trong  
listbox "Location", nhập tên Project vào textbox "Name:" (td. AnyStackpp), click button OK ₫ể  
tạo Project theo các thông số ₫ã khai báo.  
3. Ngay sau Project vừa ₫ược tạo ra, cửa sổ soạn code cho chương trình ₫ược hiển thị. Viết code  
cho hàm Main như sau :  
namespace AnyStackApp {  
class Program {  
static void Main(string[] args) {  
int i;  
//tạo ₫ối tượng IntStack ₫ể dùng  
IntStack si = new IntStack();  
//push lần lượt 11 giá trị từ -5 tới 5  
for (i = -5; i <= 5; i++) {  
if (!si.push(i)) {  
Console.WriteLine("Khong push duoc nua!!!");  
return;  
}
}
//pop các giá trị trong Stack ra và hiển thị ₫ể kiểm tra  
try {  
while (true) {  
int ci = si.pop();  
Console.WriteLine("Tri vua pop ra la : " + ci);  
}
} catch (Exception e) {  
Console.Write("Hết stack. Ấn Enter ₫ể ₫óng cửa sổ");  
Console.Read();  
}
} //hết hàm Main  
} //hết class Program  
} //hết namespace  
Trang 2  
4. Ấn phải chuột vào phần tử gốc của cây Project trong cửa sổ Solution Explorer, chọn option  
Add.Class, ₫ặt tên là IntStack.cs ₫ể tạo ra file ₫ặc tả class IntStack. Khi cửa sổ hiển thị mã  
nguồn của class IntStack hiển thị, ₫ặc tả class IntStack như ₫oạn code dưới ₫ây :  
namespace AnyStackApp {  
public class IntStack {  
private int[] data; //danh sách các phần tử trong stack  
private int top;  
// chỉ số phần tử ₫ỉnh stack  
private int max; // số lượng max hiện hành stack  
// khai báo hằng miêu tả số lượng phần tử cần thêm mỗi lần thiếu stack  
private int GROWBY = 4;  
//hàm constrcutor  
public IntStack() {  
top = 0;  
max =GROWBY;  
data = (int[])new int[max];  
}
//hàm push phần tử vào ₫ỉnh  
public bool push(int newVal) {  
int[] newdata;  
if (top==max) { //nếu ₫ầy stack  
//xin cấp phát lại vùng nhớ lớn hơn GROWBY phần tử sơ với stack hiện hành  
try {  
newdata = (int[])new int[GROWBY+max];  
} catch (Exception e){  
//System.out.println("He thong het cho roi!!!");  
return false;  
}
//di chuyển stack hiện hành về stack mới  
for (int i = 0; i<max; i++)  
newdata[i] =data[i];  
//cập nhật lại stack mới, ₫ể hệ thống xóa stack cũ tự ₫ộng  
data = newdata;  
max += GROWBY;  
}
//chứa giá trị mới vào ₫ỉnh stack  
data[top++] =newVal;  
return true;  
}
//hàm pop 1 phần tử từ ₫ỉnh stack  
public int pop() {  
if (top == 0) //nếu cạn stack thì tạo Exception  
throw new Exception ("Cạn stack");  
else //trả về trị ở ₫ỉnh stack  
return data[--top];  
}
} //hết class IntStack  
} //hết namespace AnyStackApp  
Trang 3  
5. Chọn menu Debug.Start Debugging ₫ể dịch và chạy ứng dụng. Hãy xem kết quả hiển thị và  
₫ánh giá chức năng của ₫ối tượng IntStack.  
pdf 3 trang myanh 21880 Free
Bạn đang xem tài liệu "Giáo trình thực hành Lập trình hướng đối tượng - Bài thực hành số 10.1: Xây dựng và debug class cụ thể để chuẩn bị chuyển thành class tổng quát hóa", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_thuc_hanh_lap_trinh_huong_doi_tuong_bai_thuc_hanh.pdf