第2章 面向对象编程.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:93 大小:2.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第2章 面向对象编程.ppt

第2章面向对象编程.ppt

预览

免费试读已结束,剩余 83 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章面向对象编程2.1面向对象基本概念2.1.1对象2.1.2类2.1.3封装2.1.4继承2.1.5接口例2.1设计一个Applet小程序,使其可以进行简单的加法运算。publicclassAdditionextendsAppletimplementsActionListener{Labellabel1=newLabel("+");Labellabel2=newLabel("=");TextFieldfield1=newTextField(6);TextFieldfield2=newTextField(6);TextFieldfield3=newTextField(6);Buttonbutton1=newButton("相加");publicvoidinit(){//初始化add(field1);add(label1);add(field2);add(label2);add(field3);add(button1);button1.addActionListener(this);}publicvoidactionPerformed(ActionEvente){//处理按钮事件intx=Integer.parseInt(field1.getText())+Integer.parseInt(field2.getText());field3.setText(Integer.toString(x));//数值转换为字符串}}2.2Java的类与对象2.2.1类的创建1.class类名2.访问限制修饰词3.Abstract(抽象的)创建抽象类两个类Circle和Rectangle,完成相关参数的计算假设有若干个Circle,以及若干个Rectangle,希望计算它们的总面积,直截了当的做法是将它们分别放到两个数组中,用两个循环,加上一个加法,这种做法是不漂亮的。如果还有其它形状:triangle,ellipses等,上述方法显得“累赘”。我们希望有一种统一的表示,例如用一个数组shapeArea[],接受所有的形状,然后用:for(i=0;i<shapeArea.length;i++){area_total+=shapeArea[i].area();}abstractclassShape{abstractdoublearea();}publicclassAreaSum{publicstaticvoidmain(Stringargs[]){Shape[]shapeArea=newShape[4];doublearea_total=0;shapeArea[0]=newCircle(2);shapeArea[1]=newCircle(3);shapeArea[2]=newRectangle(2,3);shapeArea[3]=newRectangle(5,6);for(inti=0;i<shapeArea.length;i++){area_total+=shapeArea[i].area();}System.out.println(“area_total=”+area_total);}4.final(最终的)5.Extends(继承)父类名6.Implements(实现)接口名例2.2下面这个Applet程序将在页面上输出两个矩形,并伴有文字输出。见图:程序代码:publicvoidsetPosition(intxPos,intyPos){x=xPos;y=yPos;}publicvoidpaint(Graphicsg){setPosition(20,20);g.drawRect(x,y,width,height);g.drawString("矩形1的X位置:"+x,20,100);g.drawString("矩形1的Y位置:"+y,20,120);setPosition(170,20);g.drawRect(x,y,width,height);g.drawString("矩形2的X位置:"+x,170,100);g.drawString("矩形2的Y位置:"+y,170,120);}}声明和定义类示例声明和定义类示例上例分成两个文件问题2.2.2创建对象例2.3下面这个程序是改写后的例2.2。publicvoidpaint(Graphicsg){b1.setPosition(20,20);b1.setSize(60,60);b1.draw(g);g.drawString("矩形1的X位置:"+b1.getX(),20,100);g.drawString("矩形1的Y位置:"+b1.getY(),20,120);b2.dra