码迷,mamicode.com
首页 > 其他好文 > 详细

面对对象总结

时间:2016-07-11 01:24:51      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:改变思考方式   接口   

 
1. 基础概念:1.面向过程:认识事物和分析解决问题的方式,强调解决问题的流程化
                          功能行为,缺点就是不能很好地适应需要的变化c/c++
    
                    2.面向对象:认识事物的方式方法,全面认知事物(属性,方法),将有联系的功能打包放入一个对象里,基于面对过程
    
                   3.面向接口编程:抽象对象身上的属性,方法。通过接口的实现类创建接口对象(contactdao cd=new contactdaoimpl();),通过接口对象调用实现类方法

                  4.类与对象的关系:类是模板,对象是实体
                    抽象对象身上的属性和方法生成类
                    实例化类生成对象 (instanceof);
                    
                 5.对象的作用:1.设置对象的属性保存数据
                              2.调用对象的方法完成操作
                
               6.消息:一个对象为完成操作向另一对象发送请求 Detail.setuserId(new user.getid());
          
               7.匿名类:1.对对象的方法只调用一次,如果对多个成员调用必须给对象起名
                       2.对象可以作为实际参数进行传递
                       3.调用方法有意义
                       new 类()

总结:面向过程是挨个执行功能,面对对象是把有联系的功能放到一个房间(对象)里,
         找到这个房间就可以使用每个功能。
         人打开门,开门这个方法是定义在人身上还是门身上?
         门身上有轴该怎么打开门最清楚,所以定义在门身上
        实现从方法的执行者转变成指挥者
      

面试官问如何理解面对对象该怎么回答:1.基础概念:认知事物的方式方法,把复杂问题简单化,把角色从执行者转变成指挥者
                                                            2.结合现实的实例:面试官您就是用面对对象的思想思考问题,公司要招人是因为公司的业务在扩展。需求在变大。你需要找一些具有编程功能的人来为您工作。您就是指挥者,我就是对象。你在使用我身上的编程功能完成你的需求,让事情变得简单。 当然我身上还有很多其他功能,您需要的时候可以随时调用

2.面对对象三大特征:1.封装:1.隐藏对象的属性和实现细节,仅对外提供公共的get/set方法
                                              2. private关键字用于修饰成员变量被私有的的成员只有在本类有效
                                              3.一个带参一个不带参的构造方法,构造代码块定义不同对象共性内容的初始化
                                             4.好处:将变化隔离,便于使用,提高重要性,提高安全性
                          
                                 2.继承:
                    
                                 3.多态:

开发原理:找对象使用,没有对象。创建对象 使用对象,维护对象的关系

类和对象的关系:
类是对现实生活中事物的描述
对象是这里事物实实在在存在的个体

成员变量和局部变量:1.作用范围:1.成员变量作用于整个类中。
                                                   =   2.局部变量变量作用于函数中,或者语句中。
                    
                               2.在内存中的位置:1.成员变量:在堆内存中,因为对象的存在,才在内存中存在。

                                                            2.局部变量:存在栈内存中。
                
3.关键字:1.this:简单说:那个对象在调用this所在的函数,this就代表那个对象
                            this的应用:定义功能时,该函数内部要用到调用该函数对象的对象时,用this来表示这个对象
                                         但凡功能内部使用了本类对象,都有this表示                    
                    
           2.static:1.用法是一个修饰符,用于修饰成员(成员函数。成员变量)。一个类中共有的信息
                      当成员被静态修饰后可以被对象调用,也可以类名.静态成员调用
                      特有内容随着对象存储,静态成员不存在堆里,存在在方法区(共享区,数据区)每个对象都可以调用
                   
                   2.特点:1.随着类的加载而加载,随类的消失而消失,生命周期最长,不建议修饰太多静态成员,占用内存
                               2.优先于对象存在:静态先存在,对象后存在
                               3.可以被所有相同对象共享:静态成员修饰共性,实例成员修饰特性
                              4.可以直接被类名所调用
                           
                   3.类变量和实例变量的区别:

                                        1.类变量随着类的加载存在于方法区中,随着类的消失而消失,生命周期最长
                                            
                                         2.实例变量随着对象的创建而存在于堆内存中,随对象的消失而消失
                                            
                                         3.类加载只加载一次,实例变量随对象的创建可以加载多次
                  
                   4.静态使用注意事项:1.静态方法只能访问静态成员(变量,方法)
                                       非静态方法既可以访问静态成员,也可以访问非静态
                                      
                                      2.静态方法中不可以定义this,super关键字。
                                          因为静态优于对象存在。所以静态方法中不可以出现this.
                  
                   5.总结:静态方法有利有弊:利:对对象的共享数据进行单独空间的存储,节省空间,可以直接被类名调用
                                             弊:生命周期太长,访问出现局限性(只能访问静态)                   
                                 

面对对象总结

标签:改变思考方式   接口   

原文地址:http://dycode.blog.51cto.com/11459164/1818116

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!