面向对象

1、 面向对象的基本思想是,从现实世界客观存在的事物出发来构造软件系统,并在系统的构造中尽可能的运用人类的自然思维方式。

2、 面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。

3、 对象用计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。

4、 类是用于描述同一类型对象的一个抽象的概念,类中定义了这一类对象所具有的静态和动态属性。

5、 类可以看成一类对象的模板,对象可以看成该类的一个具体事例。


例子:1、 我要去新疆:
          1)面向过程:我开车,我挂档,我踩油门,我过河北,我过陕西。。。。。。(首先考虑一步一步的过程)
          2)面向对象:我命令车去新疆,车怎么走不关我事——信息封装在车这个类的内部,我不用去了解整个开动的过程(首先考虑有哪些类、对象,每个类的属性和方法,类与类之间的关系)

2、对象抽象为类——静态属性抽象为成员变量、动态属性抽象为方法;类实例化为对象

3、类(对象)之间的关系:关联关系、继承关系(一般和特殊)、聚合(聚集、组合)关系(整体和部分)、实现关系

4、为什么用对象:1)面向对象的编程—一 一组对象互相配合通过沟通完成特定功能、2)对象都有对外服务的接口、3)对象隐藏内部服务的实现、4)面向对象更加容易使我们达到这些年来苦苦追求的境界(重用、可扩展)、4)组件—比对象更高层次上的抽象

5、定义成员变量可以初始化,否则编译器将赋予默认值;局部变量没有默认值
public class Person {
	int id;
	int age = 20;
	
	void Person(int _id, int _age) {
		id = _id;
		age = _age;
	}
	
	public static void main(String[] args) {
		Person tom = new Person();
		tom.Person(1, 25);
		//Person jerry = new Person();
		Point p = new Point();
	}
}

class Point {
	Point() {}
	int x;
	int y;
}

public class Dog {
	static int furColor;
	float height;
	float weight;
	
	void catchMouse(Mouse m) {
		//as;dfj;asdf
		//asdfj;asf
		//m.scream();
	}
	
	public static void main(String[] args) {
		//int i;
		System.out.println(furColor);
		Dog d = new Dog();
		Mouse m = new Mouse();
		d.catchMouse(m);
		HelloWorld hw = new HelloWorld();
	}
}

class Mouse {
	int height;
}

你可能感兴趣的:(面向对象)