Phát triển, hoàn thiện chương trình

5 81 0
Phát triển, hoàn thiện chương trình

Đang tải... (xem toàn văn)

Thông tin tài liệu

Phát triển, hoàn thiện chương trình Có thể dùng tính thừa kế để phát triển khả năng của chương trình. 9.1. ý tưởng của việc phát triển chương trình như sau: Sau khi đã xây dựng được một lớp, ta sẽ phát triển lớp này bằng cách xây một lớp dân xuất trong đó đưa thêm các thuộc tính và phương thức mới. Quá trình trên lại tiếp tục với lớp vừa nhận được. Ta cũng có thể xây dựng các lớp mới có thuộc tính là đối tượng của các lớp cũ. Bằng cách này, sẽ nhận được một dẫy các lớp càng ngày càng hoàn thiện và có nhiều khả năng hơn. 9.2. Ví dụ về việc phát triển chương trình Giả sử cần xây dựng chương trình vẽ một số hình phẳng. Chúng ta có thể phát triển chương trình này như sau: Đầu tiên định nghĩa lớp DIEM (Điểm) gồm 2 thuộc tính x, y. Từ lớp DIEM xây dựng lớp DUONG_TRON (Đương tròn) bằng cách bổ sung 2 biến nguyên là r (bán kính) và md (mầu đường). Từ lớp DUONG_TRON xây dựng lớp HINH_TRON bằng cách thêm vào biến nguyêm mt (mầu tô). Đi theo một nhánh khác: Xây dựng lớp DOAN_THANG (Đoạn thẳng) gồm 2 đối tượng kiểu DIEM, và lớp TAM_GIAC gồm 3 đối tượng DIEM. Chương trình dưới đây cho phép vẽ các đường tròn, hình tròn, đoạn thẳng và hình tam giác. Chương trình còn minh hoạ cách dùng con trỏ this trong lớp dẫn xuất để thực hiện các phương thức của lớp co sở. Ngoài ra còn minh hoạ cách dùng toán tử chỉ số [] để nhận các toạ độ x, y từ các đối tượng của lớp DIEM. //CT5-10 // Phat trien chuong trinh #include <conio.h> #include <stdio.h> #include <iostream.h> #include <string.h> #include <graphics.h> class DIEM { private: int x,y; public: DIEM() { x=y=0; } DIEM(int x1, int y1) { x=x1; y=y1; } DIEM(DIEM &d) 285 286 { this->x= d.x; this->y= d.y; } int operator[](int i) { if (i==1) return x; else return y; } }; class DUONG_TRON : public DIEM { private: int r,md; public: DUONG_TRON() : DIEM() { r=md=0; } DUONG_TRON(DIEM d, int r1, int md1) : DIEM(d) { r=r1; md=md1; } void ve() { setcolor(md); circle ( (*this)[1],(*this)[2],r); } int getmd() { return md; } } ; class HINH_TRON : public DUONG_TRON { private: int mt; public: HINH_TRON() : DUONG_TRON() 287 288 { mt=0; } HINH_TRON(DIEM d, int r1, int md1, int mt1) : DUONG_TRON(d,r1,md1) { mt=mt1; } void ve() { DUONG_TRON::ve(); setfillstyle(1,mt); floodfill((*this)[1],(*this)[2],this->getmd()); } } ; class DOAN_THANG { private: DIEM d1, d2; int md; public: DOAN_THANG() : d1(), d2() { md=0; } DOAN_THANG(DIEM t1, DIEM t2, int md1) { d1=t1; d2 = t2; md=md1; } void ve() { setcolor(md); line(d1[1],d1[2] ,d2[1],d2[2]); } } ; class TAM_GIAC { private: DIEM d1,d2,d3; int md, mt; public: 289 290 TAM_GIAC(): d1(), d2(), d3() { md=mt=0; } TAM_GIAC(DIEM t1,DIEM t2,DIEM t3,int md1,int mt1) { d1=t1; d2=t2; d3 = t3; md=md1;mt=mt1; } void ve() { DOAN_THANG(d1,d2,md).ve(); DOAN_THANG(d1,d3,md).ve(); DOAN_THANG(d2,d3,md).ve(); setfillstyle(1,mt); floodfill((d1[1]+d2[1]+d3[1])/3,(d1[2]+d2[2]+d3[2])/3,md); } } ; void ktdh() { int mh=0,mode=0; initgraph(&mh,&mode,""); } void main() { ktdh(); DUONG_TRON dt(DIEM(100,100),80,MAGENTA); HINH_TRON ht(DIEM(400,100),80,RED,YELLOW); DOAN_THANG t(DIEM(100,100),DIEM(400,100),BLUE); TAM_GIAC tg(DIEM(250,150), DIEM(100,400), DIEM(400,400), CYAN, CYAN); dt.ve(); ht.ve(); t.ve(); tg.ve(); getch(); closegraph(); } . Phát triển, hoàn thiện chương trình Có thể dùng tính thừa kế để phát triển khả năng của chương trình. 9.1. ý tưởng của việc phát triển chương trình. các lớp càng ngày càng hoàn thiện và có nhiều khả năng hơn. 9.2. Ví dụ về việc phát triển chương trình Giả sử cần xây dựng chương trình vẽ một số hình phẳng.

Ngày đăng: 24/10/2013, 15:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan