以面向对象的思想,编写自定义类描述IT从业者。设定属性包括:姓名,年龄,技术方向,工作年限;方法包括:工作*
public class ITWork {
private String name; //姓名
private int age;//年龄
private String tend;//技术方向
private int workAge;//工作年限
public ITWork() {
}
public ITWork(String name, int age, String tend, int workAge) {
super();
this.name = name;
//this.age = age;
this.setAge(age);
this.tend = tend;
this.workAge = workAge;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age < 15){
this.setAge(15);
System.out.println("年龄信息无效!已修改默认年龄为15");
}else{
this.age = age;
}
}
public String getTend() {
return tend;
}
public void setTend(String tend) {
this.tend = tend;
}
public int getWorkAge() {
return workAge;
}
public void setWorkAge(int workAge) {
this.workAge = workAge;
}
public void work(String company,String position){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("技术方向:"+tend);
System.out.println("工作年限:"+workAge);
System.out.println("目前就职于:"+company);
System.out.println("职务是:"+position);
}
}
public class Test {
public static void main(String[] args) {
ITWork it = new ITWork("马未龙", 35, "数据库维护", 10);
it.work("腾讯实业","数据库维护工程师");
System.out.println("======================");
ITWork it2 = new ITWork("张凯", 10, "Java开发", 15);
it2.work("鼎盛科技","Java开发工程师");
}
}
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。
提示:(1)编写一个圆类Circle,该类拥有:
1)一个成员变量,radius(私有,浮点型);//存放圆的半径;
2)两个构造方法
Circle() //将半径设为0
Circle(double r ) //创建Circle对象时将半径初始化为r
3)三个成员方法
double getArea() //获取圆的面积
double getPerimeter() //获取圆的周长
void show() //将圆的关径、周长、面积输出到屏幕
(2) 编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:
1)一个成员变量,double hight (私有,浮点型); //圆柱体的高;
2)构造方法
//创建Cylinder对象时将半径初始化为r,高度初始化为h
Cylinder(double r,double h)
3)成员方法
double getVolume() //获取圆柱体的体积
void showVolume() //将圆柱体的体积输出到屏幕
public class Circle {
private double radius;
public Circle(){ //将半径设为0
this.radius = 0;
}
public Circle(double r ){ //创建Circle对象时将半径初始化为r
this.radius = r;
}
public double getArea(){ //获取圆的面积
return Math.PI * this.radius * this.radius ;
}
public double getPerimeter(){//获取圆的周长
return Math.PI * this.radius * 2 ;
}
/** 将圆的面积 ,周长 */
public void show(){
System.out.println("圆的半径:"+this.radius);
System.out.println("圆的面积:"+this.getArea());
System.out.println("圆的周长:"+this.getPerimeter());
}
}
public class Cylinder extends Circle {
private double hight;
/** 构造时设置圆的高,并调用父类的构造设置半径 */
public Cylinder(double r,double h){
super(r);
this.hight = h;
}
/** 获得体积 */
public double getVolume(){
double area = super.getArea();
return area * hight;
}
/**打印半径,周长,面积,体积*/
public void showVolume(){
super.show();
System.out.println("圆的体积是:"+this.getVolume());
}
}
public class Test {
public static void main(String[] args) {
Cylinder c = new Cylinder(10,10);
c.showVolume();
}
}
.某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精
设定
1)蛇怪类:
属性包括:怪物名字,生命值,攻击力
方法包括:攻击,移动(曲线移动),补血(当生命值<10时,可以补加20生命值)
2)蜈蚣精类:
属性包括:怪物名字,生命值,攻击力
方法包括:攻击,移动(飞行移动)
要求
1)分析蛇怪和蜈蚣精的公共成员,提取出父类—怪物类
2)利用继承机制,实现蛇怪类和蜈蚣精类
3)攻击方法,描述攻击状态。内容包括怪物名字,生命值,攻击力
4)编写测试类,分别测试蛇怪和蜈蚣精的对象及相关方法
5)定义名为mon的包存怪物类,蛇怪类,蜈蚣精类和测试类
运行效果
//妖怪类
public class Monster {
private String name;//怪物名
private int hp;//血量
private int aggressivity;//攻击力
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHp() {
return hp;
}
public void setHp(int hp) {
this.hp = hp;
}
public int getAggressivity() {
return aggressivity;
}
public void setAggressivity(int aggressivity) {
this.aggressivity = aggressivity;
}
/** 攻击 */
public void attack() {
System.out.println("怪物"+this.getName()+"展开攻击");
System.out.println("当前生命值:"+this.getHp());
System.out.println("攻击力是:"+this.getAggressivity());
}
/** 移动 */
public void move() {
}
}
/** 怪蛇类 */
public class Snake extends Monster {
/** 加血 */
public void addHp(){
this.setHp(this.getHp()+20);
System.out.println("实施大蛇补血术......,当前的生命值是"+this.getHp());
}
/** 重写父类的移动方法*/
public void move() {
System.out.println("我是蛇,我走S线路");
}
}
/** 蜈蚣类 */
public class Centipede extends Monster {
/** 重写父类的移动方法*/
public void move() {
System.out.println("我是蜈蚣精,我御风飞行");
}
}
public class Test {
public static void main(String[] args) {
Snake sn = new Snake();//生产一个蛇精
sn.setName("怪蛇甲");
sn.setHp(5);
sn.setAggressivity(20);
sn.attack();//调用攻击方法
if(sn.getHp()<10){//当生命少于10时,加20血
sn.addHp();
}
sn.move();//蛇移动
System.out.println("======================");
Centipede ct = new Centipede();//new一个蜈蚣
ct.setName("蜈蚣精乙");
ct.setHp(60);
ct.setAggressivity(15);
ct.attack();//蜈蚣攻击
ct.move();
}
}
以面向对象的思想,编写自定义类描述图书信息。设定属性包括:书名,作者,出版社名,价格;方法包括:信息介绍
public class Book {
private String name;
private String author;
private String publisher;
public double price;
public Book() {
super();
}
public Book(String name, String author, String publisher, double price) {
super();
this.name = name;
this.author = author;
this.publisher = publisher;
//this.price = price;
this.setPrice(price);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
if(price<=10){
System.out.println("价格必须大于10");
this.price = 10;
}else{
this.price = price;
}
}
/**
* 显示图书信息
*/
public void showInfo(){
System.out.println("书名:"+this.name);
System.out.println("作者:"+this.author);
System.out.println("出版社:"+this.publisher);
System.out.println("价格:"+this.price);
}
}
public class TestBook {
public static void main(String[] args) {
Book book1 = new Book();
book1.setName("鹿鼎记");
book1.setAuthor("金庸");
book1.setPublisher("人民文学出版社");
book1.setPrice(120);
book1.showInfo();
System.out.println("=============================");
Book book2 = new Book("绝代双骄", "古龙", "中国长安出版社", 55.5);
book2.showInfo();
}
}
请用面向对象的思想,设计自定义类描述演员和运动员的信息
设定
1)演员类:
属性包括:姓名,年龄,性别,毕业院校,代表作
方法包括:自我介绍
2)运动员类:
属性包括:姓名,年龄,性别,运动项目,历史最好成绩
方法包括:自我介始
要求
3)分析演员和运动员的公共成员,提取出父类—人类
4)利用继承机制,实现演员类和运动员类
5)编写测试类,分别测试人类,演员类和运动员类对象及相关方法
6)定义名为act的包存人类,演员类,运动员类和测试类
运行效果
public class Person {
//姓名,年龄,性别
String name;
int age;
String sex;
public Person(){}
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
//介绍
public void introduction(){
System.out.println("大家好,我是一个老百姓");
}
}
public class Sportsman extends Person{//运动员类
private String item;
private String bestResult;
public Sportsman(){}
public Sportsman(String name,int age,String sex,String item,String best) {
super(name,age,sex);
this.item = item;
this.bestResult = best;
}
public void introduction() {
System.out.println("大家好,我是"+this.name);
System.out.println("今年"+this.age);
System.out.println("我擅长的项目是:"+this.item);
System.out.println("历史最好成绩是:"+this.bestResult);
}
}
public class Performer extends Person {//演员类
private String school;//学校
private String production;//作品
public Performer(){}
public Performer(String name,int age,String sex,String school,String pro) {
super(name,age,sex);
this.school = school;
this.production = pro;
}
public void introduction() {
System.out.println("大家好,我是"+this.name);
System.out.println("今年"+this.age);
System.out.println("我毕业于:"+this.school);
System.out.println("代表作有:"+this.production);
}
}
public class Test {
public static void main(String[] args) {
Person p = new Person();
p.introduction();
System.out.println("==============");
Sportsman sm = new Sportsman("刘小翔",23,"男",
"200米短跑","22秒30");
sm.introduction();
System.out.println("==============");
Performer pf = new Performer("章依",27,"女","北京电影学院",
"《寄往天国的家书》");
pf.introduction();
}
}