实现一个简单画图的功能.pptVIP

  • 0
  • 0
  • 约2.06千字
  • 约 17页
  • 2025-09-01 发布于广东
  • 举报

实现一个简单画图的功能第1页,共17页,星期日,2025年,2月5日问题的分析(面向对象分析)确定对象:名词短语(候选者)显示器荧光屏:一种输出设备,不是对象圆心坐标:圆和弧的基本属性,不是对象位置:即圆心坐标,不是对象半径:圆和弧的基本属性,不是对象圆(Circle):对象弧(Arc):对象起始角度:弧的属性,不是对象结束角度:弧的属性,不是对象第2页,共17页,星期日,2025年,2月5日问题的分析(面向对象分析)确定属性:确定对象的过程中发现:圆的属性:圆心坐标,半径弧的属性:圆心坐标,半径,起始角度,结束角度借助于领域知识:圆和弧的属性:可见性第3页,共17页,星期日,2025年,2月5日问题的分析(面向对象分析)确定服务:访问属性值:读/写圆心坐标(圆,弧)读/写半径(圆,弧)读/写起始角度(弧)读/写结束角度(弧)读/写可见性(圆,弧)显示(圆,弧)隐藏(圆,弧)第4页,共17页,星期日,2025年,2月5日问题的解决(面向对象设计)建立类层次:圆为父类,弧为子类进一步分析:点,位置定义属性定义服务类图第5页,共17页,星期日,2025年,2月5日程序设计(C++)自定义数据类型enumBoolean{false,true};定义类说明数据成员说明和定义成员函数成员函数构造函数第6页,共17页,星期日,2025年,2月5日完整的C++程序(1)#includegraphics.h#includeconio.henumBoolean{false,true};classLocation{ protected: intx; inty; public: Location(intInitX,intInitY); intGetX(); intGetY();};第7页,共17页,星期日,2025年,2月5日完整的C++程序(2)classPoint:publicLocation{ protected: BooleanVisible; public: Point(intInitX,intInitY); voidShow(); voidHide(); BooleanIsVisible();};第8页,共17页,星期日,2025年,2月5日完整的C++程序(3)classCircle:publicPoint{ protected: intRadius; public: Circle(intInitX,intInitY,intInitRadius); voidShow(); voidHide(); intGetRadius();};第9页,共17页,星期日,2025年,2月5日完整的C++程序(4)classArc:publicCircle{ private: intStartAngle; intEndAngle; public: Arc(intInitX,intInitY,intInitRadius,intInitStartAngle,intInitEndAnagle); voidShow(); voidHide(); intGetStartAngle(); intGetEndAngle();};第10页,共17页,星期日,2025年,2月5日完整的C++程序(5)Location::Location(intInitX,intInitY){ x=InitX; y=InitY;}intLocation::GetX(){ returnx;}intLocation::GetY(){ returny;}第11页,共17页,星期日,2025年,2月5日完整的C++程序(6)Point::Point(intInitX,intInitY):Location(InitX,InitY){ Visible=false;}voidPoint::Show(){ Visible=true; putpixel(x,y,getcolor());}voidPoint::Hide(){ Visible=false; putpixel(x,y,getbkcolor());}Putpixel:在指定位置画一像素getcolor

文档评论(0)

1亿VIP精品文档

相关文档