黑马程序员技术交流社区
标题:
面向对象 案例代码合集(之前的不知道为啥乱码……)
[打印本页]
作者:
jacobsnow
时间:
2016-5-1 16:08
标题:
面向对象 案例代码合集(之前的不知道为啥乱码……)
根据如下需求,完成代码(按照标准格式写),然后在测试类中测试。
需求一:
手机类Phone
属性:品牌brand,价格price
行为:打电话call,发短信sendMessage,玩游戏,playGame
需求二:
人类Person
属性:姓名name,年龄age,性别gender
行为:学习study,睡觉sleep
需求三:
动物类Animal
属性:姓名name,年龄age
行为:吃饭eat
需求四:
狗类Dog
属性:姓名name,年龄age
行为:吃饭eat,看家lookHome
需求五:
猫类Cat
属性:姓名name,年龄age
行为:吃饭eat,抓老鼠catchMouse
需求六:
学生类Student
属性:语文成绩chinese,数学成绩math,英语成绩english
行为:求总成绩的方法getSum()
包含private class作为形参 匿名引用
构造方法:无参和有参
复制代码
class Temp1 {
public static void main (String[] args) {
Person li = new Person(); //创建对象 李雷 25 男
li.name = "李雷"; //属性
li.age = 25;
li.gender = "男";
System.out.println ("从前有一个人,他的名字叫:" + li.name +"。他" + li.age + "岁了。他是" + li.gender +"的。");
System.out.print ("他会:"); //功能
li.study();
System.out.print ("和");
li.sleep();
System.out.println ();
Student li1 = new Student(); //成绩类
li1.chinese = 110;
li1.match = 135;
li1.english = 120;
System.out.println ("他的语文成绩:" + li1.chinese +",他的数学成绩:" + li1.match + ",他的英语成绩:" + li1.english);
System.out.print ("他的总分是:" + li1.getSum() );
System.out.println ();
System.out.println (); //狗类 引用数据类型当作形式参数
dog(new Dog());
System.out.println();
Cat li2 = new Cat(); //猫类 匿名对象
li2.name = "加菲";
li2.age = 4;
System.out.println("他还有一直猫,猫的名字叫" + li2.name + "。它今年" + li2.age + "岁了。");
System.out.println ("它会");
new Cat().eat();
System.out.println ("和");
new Cat().catchMouse();
Animal li3 = new Animal (); //动物类
li3.name = "狗剩";
li3.age = 20;
System.out.println ();
System.out.println ("综上,我发现,好像所有小动物的主人都会给他们起个名字,比如说是" + li3.name + "。小动物的寿命一般不会超过" + li3.age + "岁。");
System.out.println ("他们最萌的动作就是:");
li3.eat();
Phone li4 = new Phone(); // 手机类,private 封装
li4.setBrand("大米牌");
li4.setPrice (8888);
System.out.println ();
System.out.println ("顺便说一下,他的还有一部手机,手机是" + li4.getBrand() + "。虽然是山寨的,但是价格却是" + li4.getPrice() + "元!" );
System.out.println ("但是,只能");
li4.call();
System.out.println ("和");
li4.sendMessage();
System.out.println (); //无参的构造方法
Phone li5 = new Phone();
li5.show();
System.out.println ("哈哈,这个是无参的,下面是有参的。");
System.out.println (); //有参的构造方法
Phone li6 = new Phone("iPhone 6S", 5888);
li6.show();
System.out.println (); //有参的构造方法,改名,不同的输出方法
Phone li7 = new Phone("iPhone 6S", 5888);
li7.setBrand("锤子");
System.out.println ("说错了,应该是,品牌:" + li7.getBrand() + ",价格是:" + li7.getPrice() + "元!");
}
public static void dog (Dog d) {
d.name = "小白";
d.age = 1;
d.print();
}
}
/* 需求一:
手机类Phone
属性:品牌brand,价格price
行为:打电话call,发短信sendMessage,玩游戏,playGame */
class Phone {
private String brand;
private int price;
public Phone () {} //构造方法,无参方式
public Phone (String brand, int price) { //构造方法,有参方法
this.brand = brand;
this.price = price;
}
public void show () {
System.out.println ("梦想的手机品牌有:" + this.brand + ",价格是:" + this.price + "元");
}
public void setBrand (String brand) { //brand private封装 用this
this.brand = brand;
}
public String getBrand () {
return brand;
}
public void setPrice (int price) { //private private封装 用this
this.price = price;
}
public int getPrice () {
return price;
}
public void call () {
System.out.println ("打电话");
}
public void sendMessage () {
System.out.println ("发短信");
}
public void palyGame () {
System.out.println ("玩儿游戏");
}
}
/* 需求二:
人类Person
属性:姓名name,年龄age,性别gender
行为:学习study,睡觉sleep */
class Person {
String name;
int age;
String gender;
public void study () {
System.out.println ("学习");
}
public void sleep () {
System.out.println ("睡觉");
}
}
/*需求三:
动物类Animal
属性:姓名name,年龄age
行为:吃饭eat */
class Animal {
String name;
int age;
public void eat () {
System.out.println ("吃饭");
}
}
/*需求四:
狗类Dog
属性:姓名name,年龄age
行为:吃饭eat,看家lookHome */
class Dog {
String name;
int age;
public String eat () {
//System.out.println ("吃饭");
String i = "吃饭";
return i;
}
public String lookHome () {
String i = "看家";
return i;
}
public void print () {
System.out.println ("他有一条狗,他的狗叫:" + name + "。今年" + age + "岁了。");
System.out.println ("它会" + eat() + "和" + lookHome() + "。");
}
}
/*需求五:
猫类Cat
属性:姓名name,年龄age
行为:吃饭eat,抓老鼠catchMouse */
class Cat {
String name;
int age;
public void eat () {
System.out.println ("吃饭");
}
public void catchMouse () {
System.out.println ("捉老鼠");
}
}
/*需求六:
学生类Student
属性:语文成绩chinese,数学成绩math,英语成绩english
行为:求总成绩的方法getSum() */
class Student {
int chinese;
int match;
int english;
public int getSum () {
int sum = chinese + match + english;
return sum;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2