面向对象是来源于生活中的一种思想,比如公司老板要去出差需要下午两点到机场,那他只需要告诉他的司机两点前把他送到机场就行了,而不是考虑带上钥匙,去车库找到他的车,再选择路线开车去机场。他要完成去机场这件事,只需要找到能有这个功能的对象就行了,比如他的司机。面向对象在编程中可以帮助开发人员节省不必要的重复劳动,提高代码的重复利用率。关于面向对象语言的发展,以下摘自度娘:“面向对象语言借鉴了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中,许多功能都可以通过调用方法来实现,而这些方法则存在于已经编写好的一个个类文件中,通过创建对象调用其中的方法可以非常方便的使用这些功能。
|