黑马程序员技术交流社区

标题: 面向对象 [打印本页]

作者: 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