黑马程序员技术交流社区
标题: 面向对象 [打印本页]
作者: exmay 时间: 2018-6-12 13:48
标题: 面向对象
面向对象是来源于生活中的一种思想,比如公司老板要去出差需要下午两点到机场,那他只需要告诉他的司机两点前把他送到机场就行了,而不是考虑带上钥匙,去车库找到他的车,再选择路线开车去机场。他要完成去机场这件事,只需要找到能有这个功能的对象就行了,比如他的司机。面向对象在编程中可以帮助开发人员节省不必要的重复劳动,提高代码的重复利用率。关于面向对象语言的发展,以下摘自度娘:“面向对象语言借鉴了20世纪50年代的人工智能语言LISP,引入了动态绑定的概念和交互式开发环境的思想;始于20世纪60 年代的离散事件模拟语言SIMULA67,引入了类的要领和继承,成形于20世纪70年代的Smalltalk。”可见其最终成形在上世纪70年代,已经是四五十年前了,也算是历经时间的考验。下面一起来看一看,何为面向对象及其在java中的实现:
1、面向对象:通过对象的行为来实现功能,强调对象,面向对象的语言中包含三大特征:封装、继承、多态
面向过程:通过每一步具体的行为来实现功能,强调步骤
2、类:一组相关属性和行为的集合,抽象
对象:一类事物的具体体现,具体
创建对象:类名 对象名 = new 类名(参数);
使用对象:对象名.成员方法();对象名.成员变量
类是对象的模板,对象是类的实体
3、成员变量与局部变量的区别
1、创建位置:成员-->类中,方法外
局部-->方法中或者方法申明中(调用方法时必须输入参数)
2、作用位置:成员-->类中
局部-->方法中
3、初始化值:成员-->有初始值
局部-->无初始值,不赋值不能用
4、内存中的位置:成员-->堆中
局部-->栈中
5、存在的寿命不同:成员-->随对象的创建而存在,随着对象的消失而消失
局部-->随方法调用而存在,随方法的调用完毕而消失
4、封装:防止该类的代码和数据被其他类随意访问,增强代码的安全性,适当的封装可以让代码更易维护和理解
5、Java Bean(四要素)
成员变量:对应事物的属性
private修饰,通过gettersetter方法使用成员变量
构造方法:1、无参构造,public 类名(){}
2、全参构造,public 类名(参数列表){ 方法体 }
成员方法:对应事物的行为
public void setXxx(数据类型 数据名){
this.数据名 = 数据名;
}
public 数据类型getXxx(){
return 数据名;
}
------------------------------------------------分割线-------------------------------------
java中,许多功能都可以通过调用方法来实现,而这些方法则存在于已经编写好的一个个类文件中,通过创建对象调用其中的方法可以非常方便的使用这些功能。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |