1、面向对象的三个阶段
1)面向对象分析OOA(Object Oriented analysis)
动词---》动态属性---》方法
名称---》静态属性---》属性
2) 面向对象设计OOD(Object Oriented design)
3) 面向对象编程OOP (Object Oriented Programmer)
2、面向对象内存分析
简单对象的内存分析
public class Cat {
private String name;
private int type;
public static void main(String[] args) {
Cat c1 =new Cat();
}}
稍微复杂的内存分析
public class Cat {
private int id;
private String name;
private int type;
public Cat(int cid, String cname, int ctype) {
this.id = cid;
this.name = cname;
this.type = ctype;
}
public static void main(String[] args) {
Cat c1 = new Cat(1, "喵喵", 2);
}}
复杂的内存分析
public class TestCat {
public static void main(String[] args) {
TestCat tc =new TestCat();
int id =101;
String name ="喵喵";
int type =2;
Cat c1 =new Cat(101,"小花",2);
Cat c2 =new Cat(102,"小黄",2);
tc.change1(id);
tc.change2(c1);
tc.change3(c2);
System.out.println(c2.toString());
}
public void change1(int a){
a =3366;
}
public void change2(Cat cat){
cat =new Cat(103,"小黑",11);
}
public void change3(Cat cat){
cat.setId(232);
}
}
3、继承内存分析
public class TestDog {
public static void main(String[] args) {
Dog dog =new Dog();
dog.setDogName("小黑");
dog.setPetName("狗");
dog.setPetType("哈士奇");
dog.eat();
dog.sleep();
dog.wang();
}}
public class Pet {
private String petName;
private String petType;
public void eat(){
System.out.println("吃--------");
}
public void sleep(){
System.out.println("睡觉-----");
}
public class Dog extends Pet {
private String dogName;
public void wang(){
System.out.println("汪---------");
}
4、多态内存分析
重载
Dog dog = new Dog();
Pet p = dog;
p.eat();
p.sleep();
public class Pet {
private String petName;
private String petType;
public void eat(){
System.out.println("吃--------");
}
public void sleep(){
System.out.println("睡觉-----");
}
public class Dog extends Pet {
private String dogName;
public void wang(){
System.out.println("汪---------");
}
public void eat(){
System.out.println("狗在吃-----");
}
public void sleep(){
System.out.println("狗在睡觉---");
}