面对对象总结

来源:互联网 发布:苹果手机的mac地址在哪 编辑:程序博客网 时间:2024/04/28 17:19

                 面对对象的思维是可以作用于多个领域的一种思维方式


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.调用方法有意义
                              

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



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.总结:静态方法有利有弊:利:对对象的共享数据进行单独空间的存储,节省空间,可以直接被类名调用

                                                弊:生命周期太长,访问出现局限性(只能访问静态)                  

0 0
原创粉丝点击