面向对象思想
面向对象(1)
(1)现实世界是由对象和对象之间相互作用共同组成的
(2)每个对象有自己的特有属性,也有自己专有的方法。外部对象想要调用这些方法,可以向它请求并传入参数,等方法执行结束后,返回结果。
(3)对象=属性+方法
(4)对象的规范=属性定义+方法定义
面向对象(2)
(1)java中,引入对象和类的概念
-对象是一个变量(具体的东西)
-类就是类型(是规范,是定义),从千万对象中抽取共性;
-类规定了对象应该有的属性内容和方法;
-对象是类的具体体现,是活生生的;
-例如:土豆丝菜谱是类,一盘土豆丝就是对象;
面向对象(3)
-从程序发展的角度理解,OO(Oriented Object:面向对象)是对OP(Oriented Procedure:面向过程)的一种改进。
-OP的典型代表是C和Pascal。更强调方法动作,所有的变量的被动参与进来,没有自主决定权。
-OO的方法属于每个对象的。能否实现是由每个对象说了算的,有主人翁精神。
面向对象(4)
-OP的例子
public class OPExample {
public static void main(String[] args) {
int a,b,c;
a=1;
b=2;
c=add(1,2);
System.out.println("c is:"+c);}
private static int add(int i, int j) {
return i+j;
}
}
-OO的例子
public class OOExample {
private int a;
public void setA(int a) {
this.a=a;//将形式参数的值传给成员变量
}
public int add(int b) {
return this.a+b;
}
public static void main(String[] args) {
int b=5;
OOExample obj=new OOExample();
obj.setA(10);
System.out.println(obj.add(b));
}
}
-计算机的发展和社会发展有相似之处,以前更加侧重于是事情,事情做了没有,是OP的时代。那么OO的时代,我们更强调方法的主体,这个事情的执行者是谁,这个人是否执行哪些东西
面向对象(5)换种方法理解
-变量定义的变迁:更加功能强大
-基本类型(一种变量)=》结构体(多种变量捆绑)=》类(多种变量家方法)
-类可以继承:子类可以继承父类所有内容(不能直接访问private成员)
--基本类型无法做到
--结构体只能做到全包含,不能控制包含粒度
面向对象(6)
-OO最早的始于Simula67,成形于20世纪70年代Smalltalk
-当前最主要的代表是C++和java
-面向对象语言主要特点
-识认性
-类别行
-多态性
-继承性