面向对象总结(上)
来源:互联网 发布:安卓一键改串号软件 编辑:程序博客网 时间:2024/04/30 02:08
一.面向对象的概述:
面向对象对于初学java的同学来说,是比较难理解的。下面我将面向对象做一个较全面的总结,同时对自己前一段时间面向对象的学习做一个回顾,复习。
1、 定义:
面向对象是相对于面向过程而言的一种编程思想,是基于面向过程的(也就是说没有面向过程就没有面向对象,面向过程是面向对象的基础)。面向对象更接近于人们日常生活中的思维习惯, 将功能封装进对象,强调具备了功能的对象,不关注具体实现过程,而面向过程则更侧重于实现的过程。
2、 思想特点:
1) 面向对象更符合人们思考习惯的思想;
2) 将复杂的事情简单化
3) 把执行者变成了指挥者
3、 面向对象举例(与面向过程对比):
1)吃烤鸭
(1)面向过程:
买一对小鸭子
养鸭子
养大之后大鸭子下小鸭子,当满足鸭子可以自然繁殖时
宰鸭子(大鸭子):杀鸭子,开水拔毛,开膛破肚,整理鸭杂
上网学习如果做烤鸭
买作料,食材,工具
开始做鸭子
。。。
在做好鸭子后,饱含泪水,终于吃上了烤鸭
(2)面向对象:
调用全聚德的为我提供烤鸭的方法,大吃一顿,给全聚德传递一个参数(money!)
注意:
全聚德用什么鸭子?不知道 属性
全聚德怎么做鸭子?不知道 方法
2)将大象放进冰箱:
(1)面向过程的思想:
打开冰箱
把大象放进去
关上冰箱
//又来了一只骆驼,骆驼也想进冰箱
我需要修改所有的代码:
打开冰箱
把骆驼放进去
关上冰箱
2)面向对象:
冰箱.打开()
大象.进去()//骆驼.进去()
冰箱.关闭()
class 冰箱:
public void打开的方法(){
}
public void关闭的方法(){
}
class 大象:a
public void进去(){
}
class 骆驼:
public void进去(){
}
//又来了一只骆驼,骆驼也想进冰箱
只需要修改部分代码
二、类与对象
任何编程语言都是用于描述现实世界事物的,现实世界的事物都有自己的特征和行为。
1、 类:是java语言的最基本的单位。类的属性就对应于现实世界事物的特征,类的成员方法(成员函数)对应于事物的行为。所以所类是一组相关的属性和行为的抽象。
2、 对象:是该类事物的具体体现(实例)。
3、 总结:
1) Object(物体,对象)
将现实事物抽象成类
将人这种现实事物抽象成Person类
2) 类的注意事项:
(1) 类中属性叫做成员变量
(2) 类中功能叫做成员函数(成员方法)
(3) 成员函数与成员方法均叫做类的成员
(4) 成员变量是直接定义在类中的,与成员函数是平等的关系
(5) 访问对象的属性:对象名.属性名 叫做:该对象的XX属性
(6) 调用对象的方法:对象名.方法或者对象名.方法名()
4、 举例:
人类和具体的对象人的实例:
class MyObj{public static void main(String[] args) {Person p = new Person();//new了一个人类的实例对象pp.name = "zhangsan";p.age = 23;p.sex = "男";p.eat();//p的实例对象调用人类的eat方法p.sleep();p.hitBeanBean();System.out.println(p.name);System.out.println(p.age);System.out.println(p.sex);System.out.println(p.isLoveCode);method();}public static void method(){System.out.println("这个方法被调用了!");}}//定义人类class Person{String name;int age;String sex;boolean isLoveCode = true;//是否热爱编程public void eat(){int a = 10;System.out.println("我吃了!");}public void sleep(){System.out.println("我睡了!");}public void hitBeanBean(){System.out.println("我爽了!");}}
三、类的组成
类由成员变量(即就是类的属性)、构造方法和成员方法组成。
1、 成员变量:
1) 成员变量定义在类中,方法外。针对类中的任何方法都有效。
2) 注意事项:在方法中使用变量的时候,先找局部范围,再找成员范围。
2、 构造方法:
1) 用于创建对象,对数据进行初始化。
2) 特征:
(1) 方法名和类名相同。
(2) 没有返回值类型(注意:返回值为null时,是属于有返回值)。
(3) 没有返回值。
3) 注意事项:
(1) 如果没有写构造方法,系统给出一个无参默认构造方法。
(2) 如果写了构造方法,系统将不再提供构造方法。
3、 成员方法:
1) 成员方法完成一些特定的功能。
2) 方法的重载:
(1) 方法名相同,参数列表不同(参数的个数,类型、顺序的不同)。
(2) 与返回值类型无关。
四、封装
1、封装是将一些对象的实现细节和相关的属性隐藏起来,外界无法访问该对象的属性也不知道其实现的细节,仅对外提供公共的访问方式。
2、常见的封装有:对类、方法、private修饰成员变量的封装;
3、封装的好处:
1) 将变化隔离:将系统中经常变化的部分和稳定的部分隔离,有助于增加复用性,并降低系统耦合度。
2) 便于使用:封装了很多常用的方法,当需要的时候直接调用,方便了开发人员的使用,提高了开发效率。
3) 提高了重用性
4) 提高了安全性
4、 封装的弊端:让数据访问变的复杂。
5、封装的原则:
1) 将不需要对外提供的内容都隐藏起来。
2) 把属性都隐藏,提供公共方法对其访问。
6、代码体现:
类中的所有成员变量私有,给出对应的get/set方法。
class Student{private String name;private int age;public Student(){}public Student(String name,int age){this.name = name;this.age = age;}public void setName(String name){this.name = name;}public String getName(){return name;}public void setAge(int age){this.age = age;}public int getAge(){return age;}
- 面向对象总结(上)
- 面向对象上总结
- Python面向对象编程总结(上)
- Python面向对象编程总结(上)
- Python面向对象编程总结(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 面向对象(上)
- 收拾一个浪漫的野餐篮惊喜你的爱人
- 搜索引擎优化基础知识
- POJ3258——Silver Cow Party
- Qt编写串口通信程序全程图文讲解
- int/byte/byte[]转换 c#
- 面向对象总结(上)
- 面试技巧:16个经典面试问题回答思路
- 手机
- 手机下载宇宙
- 一些大牛的博客推荐,排名不分先后
- 共模电压和差模电压
- 人机交互界面设计
- Git冲突:commit your changes or stash them before you can merge.
- 使用svn开发,目录的约定与开发流程