话不多说,先来一波脑图~~
本文为java面向对象的基础,后续还有进阶和高级。
即使是基础,也得用代码来实战,才能彻底掌握!
package com.water.javaSE;
public class ObjectTest {
public static void main(String[] args) {
//初始化对象信息,打印输出
Car car = new Car();
car.brand = "宝马";
car.color = "红色";
car.show();
Game game = new Game();
game.info = "这是一个非常好玩的游戏,壕无人性";
game.say();
Employee water = new Employee("water", "00001", 10000, 0.50);
System.out.println(water.toString());
}
}
/**
* 1. 编写 Car 类,属性有品牌(brand)和颜色(color),show 方法打印
* 所有属性。
*/
class Car{
String brand; //车辆品牌
String color; //车辆颜色
//打印所有属性
void show(){
System.out.println("品牌为:"+brand+",颜色为:"+color);
}
}
/**
* 2. 定义一个游戏类,包括游戏的属性包括:游戏名、类型、大小、星级、
* 介绍等,可以调用方法输出游戏的介绍。
*/
class Game{
String name; //游戏名称
String type; //游戏类型
int size; //游戏大小
int rank; //游戏等级
String info; //游戏介绍
//输出游戏的介绍
void say(){
System.out.println("游戏的介绍:"+info);
}
}
/**
* 3. 定义并测试一个代表员工的 Employee 类。它的属性包括“员工姓名”、
* “员工号码”、“员工基本薪水”、“员工薪水增长率”;他的方法包括“构
* 造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、
* “计算薪水增长额”及“计算增长后的工资总额”。
*/
class Employee{
String name; //员工姓名
String code; //员工编码
double salary; //员工基本工资
double grow; //工资增长率
//无参构造方法
Employee(){}
//全参构造方法
Employee(String name,String code,double salary,double grow){
this.name = name; //员工姓名赋值
this.code = code; //员工编码赋值
this.salary = salary; //员工基本工资赋值
this.grow = grow; //工资增长率赋值
}
//获取员工姓名
String getName(){
return this.name;
}
//获取员工编码
String getCode(){
return this.code;
}
//获取基本工资
double getSalary(){
return this.salary;
}
//工资增长额
double getGrowMoney(){
return this.grow*this.salary;
}
//工资总额
double getTotal(){
return getGrowMoney()+this.salary;
}
//输出员工信息
@Override
public String toString() {
return "姓名:"+name+",编码:"+code+",基本工资:"+salary+",工资增长额:"+getGrowMoney()+",工资总额:"+getTotal();
}
}
好了,java是纯面向对象的。我们到底有没有好奇过,编程是怎么抽象世界的,前辈们创造出各种编程语言,定义各种数据结构,发现各种牛逼算法。
将世界用代码抽象出来。因此,我觉得一切都是信息的流动。信息,包含着各种各样的数据,我们就是要用各种容器去装这些数据,不断地倒腾,传递信息,表达意思。
信息,能够让人获取财富。信息差,赚差价就是简单的一个例子。扯远了。
总的来说,面向对象,要求我们编程时,思考时,要用对象的思维,更高层次地解决问题。
一切都是信息的流动,数据的CRUD。