面向对象
面向对象. png
面向过程的代表主要是 C 语言, 面向对象是相对面向过程而言, Java 是面向对象的编程语言, 面向过程是通过函数体现, 面向过程主要是功能行为.
而对于面向对象而言, 将功能封装到对象, 所以面向对象是基于面向过程的. 以前是主要以面向过程为思想, 现在是将功能装进对象中, 如果要用到功能时, 就调用该对象即可.
面向对象是入门思想的进步, 适用于人类的思考, 将复杂的东西进行了简单化, 将我们程序员从执行者变化成指挥者. 由以前面向功能 (面向过程) 转变为面向对象(封装的功能).
面向对象设计思想
设计思想的变化
例如: 学生行为
对于结构化程序设计: 起床, 洗脸, 吃饭, 下课, 放学
对于面向对象设计, 类, 类中的方法
图片
面向对象的特征
封装
继承
多态
类与对象的关系
类为对事物的描述, 具有属性和行为;
对象是该类事物创建的实体, 通过对象调用.
一切事物皆对象, 在 Java 中描述事物通过类的形式体现, 类是具体事物的抽象.
类的定义
类具有属性和行为, 它是将数据和与数据相关的操作封装在一起的集合体, 类定义中的成员即成员变量和成员函数.
成员变量和局部变量
成员变量有默认的初始值, 成员变量定义在类中, 可以被整个类访问, 成员变量随对象的创建而创建, 随对象的消失而消失, 存储在堆内存中.
局部变量定义在函数内, 语句中, 局部变量存在于栈内存中, 随着方法的运行而运行, 出栈而结束, 作用的范围内结束, 没有默认值.
创建对象
Car c = new Car(); // 创建对象
封装
封装是隐藏对象的属性与功能, 仅对外提供公共访问权限, 封装可以提高安全性, 重用性等.
构造函数
构造函数对对象进行初始化, 没有具体的返回值, 返回类型, 函数名和类名相同.
this 关键字
this 为代表本类对象的引用.
static
使用 static 修饰的成员变量为静态变量;
用 static 修饰的类, 为静态类,
用来修饰方法, 则为静态方法.
静态变量是归类所有, 静态变量直接通过类调用, 而不用实例化对象. 静态方法也是用类名直接调用的. 静态方法只能操作静态变量而不能使用实例变量.
静态随类的加载而加载, 优先于对象存在. 静态方法中不能用 this,super.
来源: http://www.jianshu.com/p/4f38b2c9ac04