Phương thức hủy bỏ :

Một phần của tài liệu lthdt-java (Trang 73 - 77)

- class pointer {

1 Phương thức hủy bỏ :

Là phương thức đặc biệt của lớp, phương thức này tự động gọi đến khi kết thúc sự tồn tại của thực thể. Thông thường, phương thức này bao hàm các thao tác : thu hồi vùng nhớ đã cấp phát, đóng tập tin đã mở trong phương thức thiết lập…

0, 5 điểm

Đặc tính:

- Cùng tên với tên của lớp - Không nhận giá trị trả về - Phía trước có thêm dấu ngã

0,5 điểm

Ví dụ: ta có lớp TEST, có phương thức hủy bỏ TEST class TEST{ int v; public: TEST(); ~TEST(); } 1 điểm Câu 42: (2 điểm)

Phương thức ảo là gì? Cho ví dụ. 1 Phương thức ảo là gì? Cho ví dụ

Phương thức ảo :

Khi xây dựng các lớp của chương trình hướng đối tượng để tạo cây phả hệ, người lập trình phải chuẩn bị các hành vi giao tiếp chung của các lớp đó. Hành vi giao tiếp chung dùng thể hiện cùng 1 hành vi nhưng có những hành động khác nhau – đó là phương thức ảo

Ví dụ:

Các lớp hình ảnh PICTURE, hình chữ nhật RETANGLE, hình tròn CIRCLE đều có hành vi thể hiện chính bản thân mình là phương thức ảo Display(). Lớp PICTURE là một hình ảnh nói chung, chưa đủ dữ liệu để thể hiện.

class PICTURE{ int x,y,color; public:

virtual void Display(){} };

class RETANGLE: public PICTURE{ int d; //khoảng cách

public:

virtual void Display(){ setcolor(color);

rectangle (x-d,y-(d/2),x+d,y+(d/2)); }

};

class CIRCLE: public PICTURE{ int r; // bán kính

public:

virtual void Display(){ setcolor(color);

circle(x,y,r); }

};

Câu 43: (2 điểm)

Lớp trừu tượng là gì? Cho ví dụ. 1 Lớp trừu tượng là gì? Cho ví dụ.

Lớp trừu tượng :

Là lớp chỉ chứa phương thức ảo, không làm gì cả, không thể tạo ra đối tượng thuộc lớp đó và cũng không thể truy cập đến phương thức ảo của nó. Các lớp này được tạo ra theo yêu cầu của việc phát triển cấu trúc sau này, nhưng vẫn chưa cần thiết ở hiện tại.

1 điểm

Ví dụ :

Lớp nhà HOUSE là lớp trừu tượng có phương thức ảo Paint()

class HOUSE{

public:

virtual void Paint(){} }

Câu 44: (2 điểm)

Xây dựng lớp đa thức bao gồm: + Các thuộc tính:

- Bậc của đa thức

- Mảng một chiều lưu các hệ số của đa thức + Các hàm (phương thức):

- Nhập đa thức - Hiển thị đa thức

- Toán tử cộng (+)hai đa thức - Toán tử định giá đa thức

Xây dựng hàm main để sử dụng lớp vừa tạo. 1 #include <conio.h> #include <iostream.h> #include <math.h> class DT { private:

double a[20];// Mang chua cac he so da thuc a0, a1,...

int n ;// Bac da thuc public:

void nhap(); void hienthi();

DT operator+(const DT &d2);

double operator^(double x);// Tinh gia tri da thuc };

void DT::hienthi() {

cout<<a[0]<<"X^0";

for (int i=1 ;i<= n ;++i) cout<<"+"<< a[i] <<"X^"<<i ; }

void DT::nhap() {

cout << "Bac da thuc:"; cin >> n;

cout << "Nhap cac he so da thuc:" ; for (int i=0 ;i<=n ;++i)

cout << "\n He so bac"<<i<<":" ; cin >> a[i] ; } } DT DT::operator+(const DT &d2) { DT d; int k,i; k = (n > d2.n)?n:d2.n ; for (i=0;i<=k ;++i) if (i<=n && i<=d2.n)

d.a[i] = a[i] + d2.a[i]; else if (i<=n) d.a[i] =a[i]; else d.a[i] = d2.a[i]; i = k;

while (i>0 && d.a[i]==0.0) --i; d.n=i; return d ; } double DT::operator^(double x) { double s=0.0 , t=1.0; for (int i=0 ;i<= n ;++i) { s+= a[i]*t; t *= x; } return s; } void main() { DT p,q,f; double x,g; clrscr();

cout <<"\n Nhap da thuc P :" ;p.nhap(); cout <<"\n Nhap da thuc Q :" ;q.nhap(); cout << "\n Nhap so thuc x :" ;cin >> x; f = (p+q); g = f^x; cout << "\n Da thuc f "; f.hienthi(); cout<<"\n x =" << x; cout << "\n f(x) = "<<g; getch();

}

Câu 45: (2 điểm)

Đối tượng là gì? Cho ví dụ. 1 Đối tượng là gì? Cho ví dụ

Đối tượng :

Là một thực thể có thể lưu trữ một trạng thái và một số hành vi để đánh giá hoặc tác động lên trạng thái này cần thiết ở hiện tại.

1 điểm

Ví dụ :

Đối tượng Cúc được mô tả như sau : - Thuộc tính : tuổi, địa chỉ…

- Đặc điểm : đầu, thân hình, hai tay, hai chân… - Hành vi : đi, ngồi, nhảy…

1 điểm

ĐỀ BÀICâu 46: (2 điểm) Câu 46: (2 điểm)

Cho biết ý nghĩa của các hình thức truy cập public, private, protected

1 Cho biết ý nghĩa của các hình thức truy cập public, private, protected

Public :

Các thành viên mang thuộc tính public có thể được truy cập bởi tất cả các hành vi trong và ngoài lớp chứa nó.

0.5 điểm

Private :

Các thành viên mang thuộc tính private chỉ có thể được truy cập bởi các hành vi thuộc lớp và các hành vi, các lớp là bạn (friend) của lớp chứa nó

0.75 điểm

Protected :

Các thành viên mang thuộc tính protected chỉ có thể được truy cập bởi các thành viên của nó và thành viên trong những lớp hậu duệ của lớp chứa nó.

Một phần của tài liệu lthdt-java (Trang 73 - 77)

Tải bản đầy đủ (DOC)

(77 trang)
w