2019-1-11 笔记、作业
1、面向对象的三大特性:封装,继承、多态
2、开发方法:
A、结构化开发:
a、面向功能划分软件结构
b、自顶面下
c、最小的子系统是方法
d、制约了软件的可维护性和可护展性
B、面向对象开发
a、把软件系统看成各种对象的集合
b、系统结构软稳定
c、子系统相对独立
d、软件可重用性、可维护性和可护展性强
3、万物皆对象
对象:用记来描述客观事物的一个实体,由一组属性和方法构成
对象的特征-----属性
每个对象的每个属性都拥有属性值
对象的行为-----方法
类是一组相同属性和方法的对象的集合
类是对象的抽象化,对象是类的具体化
类是抽象的概念,仅仅是模板
4、类的创建
public class 类名{
//定义属性部份
属性1的类型 属性1;
...
属性N的类型 属性N;
//定义方法部份
方法1;
...
方法N;
}
如下示例:
学校类:
package com.java_2019_1_11;
/**
* 定义学校类
* @author Administrator
* 2019-1-11
*/
public class School {
//学校名称
String name;
//学校地址
String address;
//学校人数
int studentNum;
/**
* 学校的教学方法
*/
public void teach() {
System.out.println("学校的教学方法!");
}
public void showInfo() {
System.out.println("学校的名称:"+name+",学校的地址:"+address+",学校的人数:"+studentNum);
}
}
书本类:
package com.java_2019_1_11;
/**
* 书本类
* @author Administrator
* 2019-1-11
*/
public class Book {
String name;
String author;
double price;
public void read() {
System.out.println("书名是:"+name);
System.out.println("作者是:"+author);
System.out.println("价格是:"+price);
}
}
5、使用对类
使用对象的步骤:
A、创建对象
类名 对象名 = new 类名();
如创建School对象:
School sc = new School();
B、引用对象成员:使用“.”
引用类的属性:对象名.属性
引用类的方法:对象名.方法名()
如引用School类的成员:
//引用属性 sc.name = "小小"; sc.address = "厦门思明区"; sc.studentNum = 56; //引用方法 sc.showInfo();
代码与结果示例:
package com.java_2019_1_11;
/**
* 引用 School类的成员
* @author Administrator
* 2019-1-11
*/
public class TestSchool {
public static void main(String[] args) {
School sc = new School();
//引用属性
sc.name = "小小";
sc.address = "厦门思明区";
sc.studentNum = 56;
//引用方法
sc.showInfo();
}
}

创建多个对象:
package com.java_2019_1_11;
public class Person {
String name;
public void eat() {
System.out.println(name+"正在吃饭中......");
}
public void clean() {
System.out.println(name+"已经带着打扫工具去篮球场了");
System.out.println("你看"+name+"他正在打扫中.......");
System.out.println("OK!"+name+"打扫好了!!");
}
public void buy() {
System.out.println(name+"骑自行车去小卖部了");
System.out.println("他应该是在买水去了");
System.out.println("你看"+name+"回来了!");
}
}
使用:
package com.java_2019_1_11;
public class TestPerson {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "小明";
p1.buy();
Person p2 = new Person();
p2.name = "小陈";
p2.clean();
Person p3 = new Person();
p3.name = "小张";
p3.eat();
}
}
结果:

6、类的方法
方法是个“黑匣子”,完成某个特定的应用程 功能,并返回结果
类的方法定义类的某种行为
public 返回值类型 方法名(){
//方法主体
}
方法的要素:返回修饰符、返回值类型、方法名和方法主体
如果方法有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型
返回值只能有一个
如果方法没有返回值,返回值类型为void
作业:
1、做一个简易的+、-、*、/计算器
+、-、*、/计算类如下:
package com.java_2019_1_11;
/**
* +、-、*、/计算器
* @author Administrator
* 2019-1-11
*/
public class Add {
double num1;
double num2;
double sum;
String fuhao;
public double sumAdd(){
/**
* 根据运算符判断所要进行的运算
*/
switch(fuhao) {
case "+":
sum = num1 + num2;
break;
case "-":
sum = num1 - num2;
break;
case "*":
sum = num1 * num2;
break;
case "/":
sum = num1 / num2;
break;
}
/**
* 返回运算结果
*/
return sum;
}
}
主程序:
package com.java_2019_1_11;
import java.util.Scanner;
/**
* 输入运算符和两个操作数,输出运算结果
* @author Administrator
* 2019-1-11
*/
public class TestAdd {
public static void main(String[] args) {
Scanner cxj = new Scanner(System.in);
Add add = new Add();
System.out.println("请输入您要做的运算:");
add.fuhao = cxj.next();
System.out.println("请输入您要运算的第一个数:");
add.num1 = cxj.nextDouble();
System.out.println("请输入您要运算的第二个数:");
add.num2 = cxj.nextDouble();
System.out.println("结果为:");
System.out.println(add.num1+add.fuhao+add.num2+"="+add.sumAdd());
}
}
结果示例:
A、加法

B、减法

C、乘法

D、除法

浙公网安备 33010602011771号