面向过程是以时间为顺序的,组成单位是函数。
面向对象是一套思想。它来源于人类对于客观世界的认识的一般规律。
1什么是对象?
什么都是对象!客观存在的就是对象。
对一个事物来说,一是它有什么?(属性)二是它能做什么?(方法)
2为什么面向对象
它人类看待客观事物的一般规律。
人看到事物,首先会想到它能做什么,功能,存在的价值。并不太关心它的属性。
========================================
要注意联系实际来搞懂面向对象,比如面试这件事,实际上,公司是想测试你是否能提供 公司需要的方法,公司并不关心你实现的细节。录用后,就是开始去调用你的方法。如果不能很好的实现方法,就可能被辞退。
那么那些笔试、测试就是想看你是否有知识,知识就是属性,记住属性与方法之间是有联系的,也就是没有公司所需的知识,可以断定这个人肯定不会有公司需要的方法。
一个事物的方法的实现细节是对外界屏蔽的。
那么,之前提交的简历是什么呢,那就是一个方法列表阿,API。比如年龄22,表明你的方法可以很好的被调用;未婚,告诉别人,你可以加班,放心用。
项目1,2,3,每个项目后面一定要写上你在项目中用到什么语言,否则HR的人是不知道你想告诉他们什么,他们只关心公司想要一个有JSP开发经验,或者什么什么技术有经验的人。您叙述一大堆项目的事情,没有任何意义。所以简历不要瞎写。
面试是什么,就是想真正调用一下你的方法,测试一下。
=======================================
那么社会的运转就是各个对象的方法的相互调用。
方法列表公开,方法的实现细节屏蔽。
属性,可见和不可见
一个方法的实现细节谁知道呢?只有这个对象的生成者。
那么人看待客观世界的认识,就是通过类。人类认识的是类。
类是一系列对象的抽象,对象的模版。
一类事物,属性、方法。这类对象也肯定有这些属性和方法。
为什么面向对象的第二点,就是使得开发的系统各思其职,各尽所能。也就是低耦合,高内聚。
为什么,电脑中的部件可以很容易的更换成为其他厂商的,就是因为主板与具体部件的连接是松散的;那为什么,可以很容易的换到其他厂商的呢,是因为各个厂商遵循着标准接口。
比如硬盘的use(电源接口,数据接口),每个厂商都必须实现,而且硬盘是一个类的概念,有属性,比如尺寸。
各个厂商不能在别处下功夫,只能对硬盘内部进行调整,提高性能,才会免予被替换。
高内聚是指完成功能的最小化。
低耦合表现在提高了对象的复用性,比如中间件。
最后总结一下,面向过程是先有算法,后有数据结构。由若干个过程相互调用完成。
面向对象,则是先有数据结构,后有算法,以对象为中心,开发一系列类,拿到特定对象,通过对象之间通信,对象设计要简单。
类(共性)--〉对象(类允许对象在满足共性的同时,存在个性)
一个类,则是一个新的数据类型。
实例变量与局部变量命名冲突,则使用局部变量,除非使用this.来指定某个属性。
调用构造器只是生成对象步骤的最后一步,不是构造对象本身。
方法中使用了this,this表示当前对象,当前对象就是谁调用该方法,谁就是当前对象。
class TestClass{
String name;
public void printAll(String name)
{
this.name = name;
}
}
上面必须添加上this.来引用实例变量name。因为在局部变量和实例变量冲突时,使用局部变量。
finalize()不是析构方法,因为不能存在真正的释放空间操作。
方法参数,简单类型传值,对象类型传引用(一个实际存储[堆中]的首地址)。
假如方法中,引用赋予一个新的对象,那么方法执行完以后,该引用和实际地址消失。传入引用所指向的对象属性不变。
Overloading,修饰符和返回值可以不同,但参数列表(参数类型个数或者排列顺序)一定要不同。
Overloading,是编译时多态。那么它要看编译时类型。
Overloading,也存在于父与子的关系当中。父有方法,子类可以有同名方法,只有参数列表不同才是重载。
构造器(构造方法可以重载),通过this();可以调用本类无参构造方法。
在其他构造器调用其它构造器,那么需要this关键字,并且必须放置于第一行。
如果一个类不写任何构造函数,系统会默认添加无参空构造方法。不要依赖系统默认行为!自己最好写上。javap查看实际代码。
对于简单类型,如果调用方法传入参数的类型不存在,那么就采用向上匹配原则进行查找。
m(byte)不存在,就用m(short)。(实际上long是int的父类,int是short的父类)
封装
属性尽可能私有。
方法尽可能公开。
private只有类内部本身能访问。
default只有同包能访问。
protected只有存在继承关系,才能访问。
posted on 2005-11-28 23:43
北国狼人的BloG 阅读(505)
评论(2) 编辑 收藏 所属分类:
达内学习总结