资源描述:
《实现一个简单画图的功能》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、问题的提出(需求陈述)在显示器荧光屏上圆心坐标为(100,100)的位置画一个半径为40的圆;在圆心坐标为(200,300)的位置画一个半径为20的圆;在圆心坐标为(400,150)的位置画条弧,弧的起始角度为30度,结束角度为120度,半径为50。问题的分析(面向对象分析)确定对象:名词短语(候选者)显示器荧光屏:一种输出设备,不是对象圆心坐标:圆和弧的基本属性,不是对象位置:即圆心坐标,不是对象半径:圆和弧的基本属性,不是对象圆(Circle):对象弧(Arc):对象起始角度:弧的属性,不是对象结束角度:弧的属性,不是对象问题的分析(面向对象分析)确定属性:确定对象的过程中发现:圆
2、的属性:圆心坐标,半径弧的属性:圆心坐标,半径,起始角度,结束角度借助于领域知识:圆和弧的属性:可见性问题的分析(面向对象分析)确定服务:访问属性值:读/写圆心坐标(圆,弧)读/写半径(圆,弧)读/写起始角度(弧)读/写结束角度(弧)读/写可见性(圆,弧)显示(圆,弧)隐藏(圆,弧)问题的解决(面向对象设计)建立类层次:圆为父类,弧为子类进一步分析:点,位置定义属性定义服务类图程序设计(C++)自定义数据类型enumBoolean{false,true};定义类说明数据成员说明和定义成员函数成员函数构造函数完整的C++程序(1)#include#include<
3、conio.h>enumBoolean{false,true};classLocation{protected:intx;inty;public:Location(intInitX,intInitY);intGetX();intGetY();};完整的C++程序(2)classPoint:publicLocation{protected:BooleanVisible;public:Point(intInitX,intInitY);voidShow();voidHide();BooleanIsVisible();};完整的C++程序(3)classCircle:publicPoint{p
4、rotected:intRadius;public:Circle(intInitX,intInitY,intInitRadius);voidShow();voidHide();intGetRadius();};完整的C++程序(4)classArc:publicCircle{private:intStartAngle;intEndAngle;public:Arc(intInitX,intInitY,intInitRadius,intInitStartAngle,intInitEndAnagle);voidShow();voidHide();intGetStartAngle();intG
5、etEndAngle();};完整的C++程序(5)Location::Location(intInitX,intInitY){x=InitX;y=InitY;}intLocation::GetX(){returnx;}intLocation::GetY(){returny;}完整的C++程序(6)Point::Point(intInitX,intInitY):Location(InitX,InitY){Visible=false;}voidPoint::Show(){Visible=true;putpixel(x,y,getcolor());}voidPoint::Hide(){Vi
6、sible=false;putpixel(x,y,getbkcolor());}Putpixel:在指定位置画一像素getcolor:返回当前画线颜色Getbkcolor:返回当前背景颜色完整的C++程序(7)BooleanPoint::IsVisible(){returnVisible;}Circle::Circle(intInitX,intInitY,intInitRadius):Point(InitX,InitY){Radius=InitRadius;}Circle::Show(){Visible=true;circle(x,y,Radius);}完整的C++程序(8)voidC
7、ircle::Hide(){intTempColor;TempColor=getcolor();setcolor(getbkcolor());Visible=false;circle(x,y,Radius);setcolor(TempColor);}intCircle::GetRadius(){returnRadius;}setcolor:库函数图形屏幕函数setcolor(color)功能:将当前图形屏幕的当前笔画颜色置为color.完整的C