Step1:这个问题有那些个类和对象
Step2:这些类和对象有哪些属性
Step3:考虑他们之间的关系和类的方法
类和对象的概念
对象通过“属性”和“方法”来分别对应实物所具有的静态属性和动态属性
类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所因具有的静态和动态属性
类可以看成一类对象的模板,对象可以看成该类的一个具体实例
属性就是成员变量,每个对象都是属性,对象间这个属性值不同
关联关系最弱,有关系但不紧密
eg:游泳运动员是一种运动员,这就是继承关系
一个类可以从多个不同的类继承,所以C++存在多重继承,但java不可以,通过接口解决这个问题
XX是XX的一部分,聚集关系
XX是XX必不可少的一部分,密不可分的,组合关系
父类和子类之间的实现
Java与面向对象
1.对象是java程序的核心,“万事万物皆对象”
2.对象可以看成静态属性(成员变量)和动态属性(方法)的封装体
3.类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所应具有的成员变量以及方法。
成员变量=属性,方法=函数
public class Dog{ //定义一个类
int furcolor;
float height;
float weight;
//属性
void catchMouse(Mouse m){
m.scream();
}
//方法
public static void main(string[] args){
//造出一个具体的对象
Dog d = new Dog();
Mouse m = new Mouse();
d.catchMouse(m);
}
}
java类的定义
//用class关键字定义一个类,例如:
class Person {
//成员变量定义
private int id;
private int age = 20;
//方法定义
public int getAge() { return age; }
public int getId() { return id; }
}
类的定义主要有两方面组成,成员变量和方法
成员变量
1.成员变量可以是java语言中任何一种数据类型(包括基本类型和引用类型)
2.在定义成员变量时可以对其初始化,如果不对其初始化,java使用默认初始化
3.成员变量的作用范围为整个类体
引用
java语言中除基本类型之外的变量类型都称之为引用类型,java中的对象是通过引用对其操作的。
基础类型就占用一块内存,引用类型占用两块内存,new出来的东西在堆内存。
引用类比C++中的指针
构造函数
1 使用 new+构造方法 创建一个新的对象
2 构造函数是定义在java类中的一个用来初始化对象的函数
3 构造函数与类同名且没有返回值!!
public class Person{
int id;
int age = 20;
person(int _id, int _age){
id = _id;
age = _age;
} //构造方法的名称与类名一致,大小写也必须相同
public static void main(string[] args){
Person tom = new Person(1,25);
}
}
当没有指定构造函数时,编译器为类自动添加形如 类名() { }的构造函数
方法重载
即方法名一样,但参数不同