第 7 章 面向对象编程_第6章面向对象编程

其他范文 时间:2020-02-28 01:22:35 收藏本文下载本文
【www.daodoc.com - 其他范文】

第 7 章 面向对象编程由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“第6章面向对象编程”。

类和对象

1.简述类和对象之间的关系

对象是类的实例。

2.对象的引用和对象本身分别存在哪块存储区?

对象的引用实在栈中声明一个地址,来引用堆中的对象。3.方法签名由哪些部分组成?

方法签名有对象名与参数列表组成。

4.创建一个Teacher类,要求描述姓名、性别、年龄、薪水,定义一个方法,用于在教师原有薪水的基础上增加5000,再定义一个TeacherTest类,创建一个Teacher对象并初始化对象的各属性值,调用教师增加薪水的方法,并将增加薪水后的教师信息输出。

public cla Teacher { private String name;private String xingbie;private int age;private int xinshui;Teacher(){ String name;String xingbie;int age;int xinshui;} public void setXinshui(int xinshui){ this.xinshui=xinshui;} public int getZhangxinshui(){ return xinshui+5000;} public void setName(String name){ this.name=name;} public String getName(){ return name;} public void setXingbie(String xingbie){ this.xingbie=xingbie;} public String getXingbie(){ return xingbie;} public void setAge(int age){ this.age=age;} public int getAge(){ return age;} } ======= import java.util.Scanner;public cla TeacherDema { public static void main(String[] args){ Teacher TeacherTest=new Teacher();Scanner a=new Scanner(System.in);System.out.println(“请输入姓名:”);String b=a.next();TeacherTest.setName(b);System.out.println(“请输入年龄:”);int c=a.nextInt();TeacherTest.setAge(c);System.out.println(“请输入性别:”);String d=a.next();TeacherTest.setXingbie(d);System.out.println(“请输入你的当月工资:”);

int e=a.nextInt();TeacherTest.setXinshui(e);System.out.println(“姓名:” + TeacherTest.getName()+ “n年龄:” + TeacherTest.getAge()+ “n性别:” + TeacherTest.getXingbie()+ “n您的当月工资:” + e + “n加薪后的薪水为:” + TeacherTest.getZhangxinshui());} }

5.小红养了两只猫,一只叫小黑,今年2岁,黑色,另一只叫小白,今年5岁,白色。请编写一个程序,要求当用户输入小猫的名字时,就显示猫的名字、年龄和颜色。如果用户输入的小猫名字错误,则显示“小红没有养这只猫”。

public cla Car { private String name;private int age;private String color;Car(){} public void setName(String name){ this.name = name;}

public String getName(){ return name;}

public void setAge(int age){ this.age = age;}

public int getAge(){ return age;}

public void setColor(String color){ this.color = color;} public String getColor(){ return color;} } ======== public cla CarDemo { public static void main(String[] args){ Scanner scanner=new Scanner(System.in);Car a=new Car();Car c=new Car();a.setName(“小黑”);a.setAge(2);a.setColor(“黑色”);c.setName(“小白”);c.setAge(5);c.setColor(“白色”);System.out.println(“请输入小猫的名字:”);String k=scanner.next();if(k.equals(“小黑”)){ System.out.println(“name:” + a.getName()+“ age:”+a.getAge()+“ color:”+a.getColor());}else if(k.equals(“小白”)){ System.out.println(“name:” + c.getName()+ “ age:” + c.getAge()+ “ color:” + c.getColor());}else{ System.out.println(“小红没有养这只猫!”);} } }

字符串

1.String str = new String(“abc”),这段代码一共生成了几个String对象?为什么? 2.给定“stuId,name,age”格式的学生信息,解析并创建学生对象 3.输入自己的身份证号码,并由此号码输出自己的生日,年月日

4.给定一个字符串数组,按照字典顺序进行从小到大的排序(排序算法自己写)

{ “asda”, “ret”, “vsa”, “asdf”, “vdft”, “qwr” } 5.统计一个子串在指定字符串中出现的次数(6个)(回家作业)

“javasdfjavawerjavavwetjavadfgdfgjavadfgdfbtujava ” 6.取出两个字符串中最大相同的子串 7.模拟一个与trim()功能一致的方法

方法

1.定义求圆的面积的方法,并调用该方法求出圆的面积 2.定义一个方法,要求在控制台上画出一个指定长宽的矩形 3.定义求k!的方法,并调用该方法求出10!并输出

4.定义求k!的方法,并调用该方法求出1!+3!+5!+...+19!之和并输出 5.定义求k!的方法,并调用该方法求出C(m,n)= m!/(n!*(m-n)!)并输出 6.定义求两个数中最大数的方法,并调用该方法求出三个数中最大的数 7.定义求三个数中最大数的方法,并调用该方法求出三个数中最大的数 8.编写判定闰年的方法,并调用此方法判定某一年是否是闰年。9.编写判定闰年的方法,并调用此方法求出公元1年到公元1000年之间的所有闰年。10.编写一个将实数四舍五入到小数点后第n位的函数,并调用此函数将一个实数舍入到小数点后第2位(是指内部精度而非输出精度)。

封装、继承

1.编写一个类Student,代表学员,要求:

1)具有属性:姓名、年龄、性别、专业

2)具有方法:自我介绍,负责输出该学员的姓名、年龄、性别以及专业 3)具有两个带参数的构造方法:

第一个构造方法中,设置学员的性别为男,专业为Android,其余属性的值由参数给定;第二个构造方法中,所有属性都由参数给定

编写测试类StudentTest进行测试,分别以两种方式对两个Student对象进行初始化,并分别调用他们的自我介绍方法,看看输出结果是否正确。2.需求

1)定义一个(Person)类,包含属性:姓名,年龄,性别;写好相关的方法,能够构造的时候初始化或者后续修改属性值。

2)定义一个Employee类继承于Person类,包含新的属性:职位;写好相关的方法,能够构造的时候初始化或者后续修改属性值,重写equals方法,规则:当两个对象的姓名,年龄,性别,职位都相等时返回true,否则返回false。

3)写一个测试类进行相关测试(要求可以打印对象的信息,能够比较对象是否“相等”)。效果:

3.假设现在需要对员工进行建模,员工包含3个属性:工号、姓名、工资。经理也是员工,除了含有员工的属性外,另外还有一个奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

4.用面向对象编程的思想,设计一个猜拳游戏,完成人机猜拳互动游戏的开发。

功能:

1)选取对战角色 2)猜拳 3)记录分数

效果图:

提示:

先思考这个程序中一共涉及到多少个类,需要创建多少个对象。

5.为某音像店开发一个迷你DVD管理器,实现DVD碟片的管理,包括如下功能:新增DVD、查看DVD、删除DVD、借出DVD、归还DVD。(后台使用数组来存放DVD对象。默认最多存放100个)设计: 1)DVD类(属性:id ,name ,lendCount ,lendDate ,status)(默认每张DVD都是唯一的)lendCount字段每借一次加1 2)DVDDB类(提供一个动态数组来保存多张DVD)3)DVDManager类(提供操纵功能),添加DVD、查看DVD、删除DVD、借出DVD、归还DVD、DVD排行榜(按借出次数降序排序),退出系统 效果图:

多态

1.张三可以开关家里的任何电器,比如电灯、电视、电扇等。使用继承和多态来实现开关电器的方法。

2.学校中心配备一台打印机(可以是黑白打印机,也可以是彩色打印机)。中心可以通过打印机打印学员的个人信息(张三和李四等)。通过继承和多态来设计这个程序,使程序具有更好的扩展性和维护性。

3.模拟一个军队作战,军队里面有各种兵,骑兵,步兵等等。每种兵的攻击敌人方式不一样。建立各种各样的兵,至少3种,然后建立一个军官,军官也会上场去攻击敌人,但是军官还有一种行为,就是发号,军官发号了,无论什么兵都去战场攻击敌人,也可以指定哪种兵去攻击敌人。最后程序运行效果就是一个军官开始发号,然后所有被指定的士兵包括军官都去打仗,显示每个人攻击敌人的方式。4.用Java程序完成以下场景:

有一个主人(Master类),他养了两只宠物(Pet类),一只宠物是狗(Dog类),名字叫“旺财”,另一只宠物是猫(Cat类),名字叫“小花”,现在有两种食物(Food类),分别是骨头(Bone)和鱼(Fish)。主人分别给两只宠物喂食物,两只宠物厌食,狗只吃骨头(如果主人为够吃别的食物,就显示“狗不吃某某食物”);猫只吃鱼(如果主人为猫吃别的食物,就显示“猫不吃某某食物”)提示: 1)程序结构如下

2)main方法代码如下

3)程序运行结果如下

抽象类和接口

1.通过抽象类定义车类的模版,定义一个抽象方法run(),然后通过抽象的车类来派生拖拉机(Tractor)、卡车(Truck)、小轿车(Saloon),并且有各自的run()方法实现。2.编写一个程序,要求: 1)定义一个Student类(属性:学号、名字、成绩),通过实现comparable接口让它具有比较大小的能力(通过成绩来比较)

2)定义一个Student数组stus,生成5个Student对象,存入stus中

3)定义一个StudentTest类,通过调用Arrays工具类中的sort方法来对stus中的元素进行排序。3.编写一个程序,模拟以下场景:

现有一块电脑主板,其主板本身已经集成了网卡和声卡功能,但是为了满足市场的需求,主板上提供了3个PCI接口,提供给用户后期扩展功能使用。用户可以在PCI接口上插上各种PCI设备,例如可以支持千M网速的独立网卡、HIFI音质的独立声卡、检测专用的检测卡等。

4.使用策略模式的设计方式来实现对数组的排序,提供两种具体的实施策略,冒泡排序法和选择排序法。

5.使用策略模式的设计方式来实现两个数的操作获得相应的结果。提供四种具体的实施策略,加、减、乘、除操作。6.需求:

1)定义点类(二维,即包含x,y坐标)Point 2)定义一个图形类Figure(抽象类):包含抽象方法画图(onDraw)3)定义一个三角形继承于图形类, 属性:三个点

方法:设置点,获取点等相关方法以及重写的画图方法

PS:画图方法中要求打印出 画出的是一个什么图形和各个点坐标 4)定义一个圆形类,和三角形要求一致 5)定义一个画家类Painter 方法:画画:可以画出一个图形

6)写一个测试类,测试画家画画,画一个三角形,一个圆形

面向对象编程的总结

面向对象编程的总结(理解与看法) 面向对象程序设计 (Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到......

面向对象编程类间关系

面向对象的类间关系(关联关系,聚合关系,组合关系)很多的人都在说聚合和组合关系的区分方法,大部分人都在引用has a和contains a的区别。我觉得这种说法实在是抄的没意义。接下来,......

C语言面向对象编程学习笔记

C语言面向对象编程笔记 1、在底层驱动函数前加static标识符的作用:a:加了static后表示该函数失去了全局可见性,只在该函数所在的文件作用域内可见 b:当函数声明为static以后,编......

面向对象作业L1

一、根据下面的说明,选择正确的用例图:某餐厅的订餐系统,顾客可以访问该系统订餐,也可以取消预定。另外在预定的时候也可以点菜也可以不点菜。没有订餐的顾客或订餐但没有点菜的......

面向对象程序设计感想

C#面向对象程序设计感想本课程主要讲解了控件,资源管理器,文件流,线程等等,通过这门课的学习,我学到了一些应用性的知识,比如如何设计控件,对文件流进行程序的代码编写,还有就是多线......

下载第 7 章 面向对象编程word格式文档
下载第 7 章 面向对象编程.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文