第十一章
1.简述类和对象,以及二者之间的关系
现实中先有对象后有类.计算机中先有类后有对象.对象:现实世界中<某个具体事务>叫对象.对象的组成部分:
⑴特征:用来识别一个对象,在计算机中叫属性.
⑵行为:体现一个对象功能的,计算机中叫方法
二 类:将<一组有共同点>的对象,其共同点抽象出来就是类.
⑴构造函数:与类同名,没返回值,实例化同时调用,用于初始化,只能调用一次
⑵一个类中至少有2个构造函数,不带参数的为默认构造函数,带有用于初始化的构造函数.
⑶函数重载:函数同名不同参数 以参数个数和参数类型为标准
2.教员要求张浩使用面向对象的思想编写一个计算器类(Calculator),可以实现两个整数的加,减,乘,除运算,如果你是张浩,准备如何实现编程
代码如下:
package com.hylcbdql.www;
public class Zuoye {
String jia;
String jian;
String cheng;
String chu;
double a;
double b;
double c;
String xu;
public void show(){
switch(xu){
case “+”:
c=a + b;
break;
case “-“:
c=a - b;
break;
case “*”:
c=a * b;
break;
case “/”:
c=a / b;
break;
}
System.out.println(“结果为:”+c);
}
}
package com.hylcbdql.www;
import java.util.*;
public class Zuoye1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Zuoye ji =new Zuoye();
ji.jia =”+”;
ji.jian =”-“;
ji.cheng =”×”;
ji.chu =”÷”;
Scanner input = new Scanner(System.in);
System.out.println(“请输入第一个数:”);
ji.a = input.nextDouble();
System.out.println(“请输入第二个数”);
ji.b = input.nextDouble();
System.out.println(“请输入”);
ji.xu = input.next();
ji.show();
input.close();
}
}
3.假设当前时间是2015年5月12日10点11分00秒,编写一个Current Time 类,设置属性为该时间,定义show( )方法显示该时间
代码如下:
package cn.jbit.classandobject;
public class CurrentTime {
String coo = “2014年5月12日10点11分00秒”; //当前时间
public void show(){
System.out.println(“当前时间是:” + coo);
}
}
4.改进第三题,将当前时间改进为2015年5月12日10点11分30秒编写一个Demo类,改变CurrentTime类中的设定的时间,并打印输出
代码如下:
package com.hylcbdql.www;
public class Zuoye1 {
public static void main(String[] args) {
Zuoye coo =new Zuoye();
coo.coo =”2011年5月12日10点11分30秒”;
coo.show();
}
}
5.使用类的方式描述计算机
代码如下:
package com.hylcbdql.www;
public class Zuoye {
String cpu;
String mainboard;
String Monitor;
String Harddisk;
String Memory;
public void showInfo(){
System.out.println("计算机配置如下:\nCPU:" + cpu + ";\n主板:" + mainboard + ";\n内存:" + Monitor + ";\n硬盘:" + Harddisk + ";\n显示器:" + Memory);
};
}
package com.hylcbdql.www;
public class Zuoye1 {
public static void main(String[] args) {
Zuoye zuoye =new Zuoye();
zuoye.cpu = “好的”;
zuoye.mainboard = “好的”;
zuoye.Monitor = “好的”;
zuoye.Harddisk = “好的”;
zuoye.Memory = “好的”;
zuoye.showInfo();
}
}
6.某公司要开发新游戏,请用面向对象的思想设计英雄类,怪物类,武器类,编写武器类,创建游戏对象,怪物对象,和武器对象,并输出各自的信息,其中设定如下:
英雄类:
1.属性:英雄名字,生命值
2.方法:输出基本信息
怪物类:
1.属性:怪物名字,生命值,类型
2.方法:输出基本信息
武器类:
1.属性:武器名字,攻击力
2.方法:输出基本信息
代码如下:
(1)英雄类
package com.hylcbdql.www;
public class Zuoye {
String name;
int life;
public void showInfo(){
System.out.println(“我的英雄信息:\n英雄名称:” +name+ “\n生命值:” + life );
};
}
package com.hylcbdql.www;
public class Zuoye1 {
public static void main(String[] args) {
Zuoye zuoye =new Zuoye();
zuoye.name =”疾风剑豪”;
zuoye.life =99999;
zuoye.showInfo();
}
}
(2)怪物类
package com.hylcbdql.www;
public class Zuoye {
String name;
String type;
double life;
public void showInfo(){
System.out.println(“怪物信息:\n怪物名称:” +name+ “\n生命值:” + life + “\n怪物类型:” +type);
};
}
package com.hylcbdql.www;
public class Zuoye1 {
public static void main(String[] args) {
Zuoye zuoye =new Zuoye();
zuoye.name =”虚空巨兽”;
zuoye.type =”爬虫类”;
zuoye.life =0.001;
zuoye.showInfo();
}
}
(3)武器类
package com.hylcbdql.www;
public class Zuoye {
String name;
double Aggressivity;
public void showInfo(){
System.out.println(“武器信息:\n武器名称:” +name+ “\n攻击力:” + Aggressivity);
};
}
package com.hylcbdql.www;
public class Zuoye1 {
public static void main(String[] args) {
Zuoye zuoye =new Zuoye();
zuoye.name =”浪客之剑”;
zuoye.Aggressivity =9999.99;
zuoye.showInfo();
}
}