Java如何设计并编写类
Unit3如何设计并编写类
⼀、术语
1. 类
类就是类型的简称,是抽象的、不具体的、不明确的。⽐如:学⽣、汽车、⼿机、电脑
2. 对象
对象是类的实例,是具体的,明确的,实际⼲活靠对象完成。⽐如:李楠,华为P20
3. 属性
⽐如:学⽣的姓名,性别,⾝⾼,体重
4. ⽅法
在Java中把函数叫做⽅法。
⽅法完成特定的功能,具有动词性质。
5. OOP:⾯向对象编程
Object Oriented Programming
⼆、理解
1. ⾯向理解为:按照、使⽤、针对;⾯向对象编程就是按对象编程、使⽤对象编程、针对对象编程。
2. 万物皆对象
3. 程序是对象的集合,对象之间协作完成功能,对象之间彼此通信
4. ⾯向对象思想来源于⼈的实际⽣活,⼈的⽣活就是⾯向对象的
三、Java编程步骤
编写类->创建对象->对象.⽅法(或属性)
四、设计类
1. 设计类需要⽤UML⼯具,softwareIdeasModeler
2. ⼀个类由3部分构成:类名,属性,⽅法
3. 编写Student类
public class Student {
String studentID;
String studentName;
String gender = "男";
int age;
String nation;
// ⽅法由5部分构成,
/
/ 1.public 访问控制符 2. 返回类型 void 3. ⽅法名 eat 4. 形参 5. ⽅法体{}
/**
* 吃⽅法
* @param food
* @return 好吃
*/
public String eat(String food) {
System.out.println("正在吃:"+food);
return "好吃";
}
public void speak() {
System.out.println("⼤家好");
}
public void bite(String name) {
System.out.println(name + ":被咬了");
}
public String bite(String school,String name) {
System.out.println(school + "学校的" + name + ":被咬了");
return name + "喊:疼啊!";
}
}
4. ⽣成Javadoc⽂档
javadoc -encoding utf-8 Student.java
5. 编写Calc类,实现加法,减法,乘法,除法运算
public class Calc {
/**
* 实现加法运算
* @param num1 第⼀个整数
* @param num2 第⼆个整数
* @return 加法计算得到的结果
*/
public int add(int num1, int num2) {
return num1+num2;
}
/**
* 实现减法运算
* @param num1 第⼀个整数
* @param num2 第⼆个整数
* @return 减法计算得到的结果
*/
public int sub(int num1, int num2) {
return num1-num2;
}
/**
* 实现乘法运算
* @param num1 第⼀个整数
* @param num2 第⼆个整数
* @return 乘法运算得到的结果
*/
public int mul(int num1, int num2) {
return num1 * num2;
}
/**
* 实现除法运算
* @param num1 第⼀个整数
* @param num2 第⼆个整数
* @return
*/
public int div(int num1, int num2) {
return num1/num2;
}
}
五、⾯试题
1. ⾯向对象的特征有哪些?
封装,继承,多态,抽象。重要的三⼤特征:封装,继承,多态。
2. ⾯向对象编程步骤?
编写类->创建对象->对象.属性(或⽅法)
六、任务
1. 教务系统中需要计算学⽣年龄,设计学⽣类,提供计算年龄的⽅法,根据出⽣年份计算年龄
public class StudentAge {
/**
* 根据出⽣⽇期计算学⽣的年龄
* @param birth 学⽣的出⽣年份
* @return 学⽣的年龄
*/
public int receiveAge(int birth) {
GregorianCalendar gregorianCalendar = new GregorianCalendar();
int year = (Calendar.YEAR);
return year-birth;
}
}
// 新建⼀个测试类进⾏测试
public class Test {
public static void main(String[] args) {
StudentAge studentAge = new StudentAge();
System.out.println("1999年出⽣的学⽣今年" + iveAge(1999) + "岁了");
}
}
2. 设计教务系统中的⽼师类Teacher,具体包括:
属性:教师⼯号,教师姓名,教师年龄,教师学历,教师职称,⽉薪。其中教师学历默认为”硕⼠“,教师职称默认为”讲师“;⽉薪默认为3000.提供3个⼀般⽅法:计算教师年龄⽅法:参数是教师出⽣年份,计算教师⼯龄:参数是教师⼊职年份,计算教师年薪:按13个⽉计算。
public class Teacher {
/**
* 教师⼯号
*/
private int id;
/**
* 教师姓名
*/
private String name;
/**
* 教师年龄
*/
private int age;
/**
* 教师学历
*/
private String education = "硕⼠";
/**
* 教师职称
*/
private String professional = "讲师";
/**
* ⽉薪
*/
private int pay = 3000;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}
public String getProfessional() {
return professional;
}
public void setProfessional(String professional) {
this.professional = professional;
}
public int getPay() {
return pay;
}
public void setPay(int pay) {
this.pay = pay;
}
/**
* 计算教师的年龄
* @param age 教师出⽣年份
* @return 教师的年龄
*/
public int calculateAge(int age) {
GregorianCalendar gregorianCalendar = new GregorianCalendar();
int year = (Calendar.YEAR);
return year-age;
}
/**
* 计算教师⼯龄
* @param beginyear 教师的⼊职年份
* @return 教师的⼯龄
*/
public int workYear(int beginyear) {
GregorianCalendar gregorianCalendar = new GregorianCalendar();
int year = (Calendar.YEAR);
return year-beginyear;
}
/**
* 计算教师的年薪
* @return 教师的年薪
*/
public int calSal() {
return this.pay*13;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Teacher teacher = new Teacher();
System.out.println("教师的年龄为"+teacher.calculateAge(1997)+"岁");
System.out.println("教师的年薪为"+teacher.calSal()+"元");
System.out.println("教师的⼯龄为"+teacher.workYear(2001));
}
}
java怎么编写3. 设计类:在教务系统中,⽼师输⼊3位学⽣张彤,李楠和程浩然的Java成绩,得到他们的平均分。
public class Score {
public float avgScore(float a, float b, float c) {
und(a+b+c)/3;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Score score = new Score();
System.out.println("三位学⽣的平均分位:"+score.avgScore(80, 75, 65));
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论