• 02.面向对象和封装


    一、面向对象思想

    • 概述
      • Java语言是一种面向对象的程序设计语言,这里的对象泛指现实中一切事物,每种事物都具备自己的属性行为
      • 面向对象三大特征
        • 封装、继承和多态。
    • 类与对象
        • 是一组相关属性行为的集合。可以看成是一类事物的模板。  
          • 属性:事物的状态信息。
          • 行为:事物能够做什么。
      • 对象
        • 是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。
      • 类与对象的关系
        • 类是对一类事物的描述,是抽象的。
        • 对象是一类事物的实例,是具体的。
        • 类是对象的模板,对象是类的实体。
    • 类的定义
      • 现实世界的一类事物
        • 属性:事物的状态信息。
        • 行为:事物能够做什么。
      • Java定义类
        • 成员变量:对应事物的属性。
          • 和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。
        • 成员方法:对应事物的行为。
          • 和以前定义方法几乎是一样的。只不过把 static 去掉,static 的作用在面向对象后面课程中再详细讲解。
    • 对象的使用
      • 通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
      • 导包
        • 也就是指出需要使用的类,在什么位置。
          • import    包名称.类名称 ;
        • 对于和当前类属于同一个包的情况,可以省略导包语句不写。
      • 创建格式
        • 类名称    对象名    =    new    类名称 () ;
      • 使用:分为两种情况
        • 使用成员变量:对象名.成员变量名。
        • 使用成员方法:对象名.成员方法名(参数)。
      • 注意事项
        • 如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。
    • 对象调用内存图
      • 三张对象调用内存图。

          

     

     

          

            

               

     

     

    • 局部变量和成员变量的区别
      • 定义的位置不一样【重点】
        • 局部变量:在方法的内部。
        • 成员变量:在方法的外部,直接写在类当中。
      • 作用范围不一样【重点】
        • 局部变量:只有方法当中才可以使用,出了方法就不能再用。
        • 成员变量:整个类全都可以通用。
      • 默认值不一样【重点】
        • 局部变量:没有默认值,如果要想使用,必须手动进行赋值。
        • 成员变量:如果没有赋值,会有默认值,规则和数组一样。
      • 内存的位置不一样(了解)
        • 局部变量:位于栈内存。
        • 成员变量:位于堆内存。
      • 生命周期不一样(了解) 
        • 局部变量:随着方法进栈而诞生,随着方法出栈而消失。
        • 成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失。

    二、封装

    • 概述
      • 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。
    • 原则
      • 属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。
    • 封装步骤
      • 使用 private 关键字来修饰成员变量。
      • 对需要访问的成员变量,提供对应的一对 getXxx 方法 、 setXxx 方法。
    • private 关键字
      • private 是一个权限修饰符,代表最小权限。
      • 可以修饰成员变量和成员方法。
      • 被private修饰后的成员变量和成员方法,只在本类中才能访问。
    • this 关键字
      • 引出 this
        • 当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。如果需要访问本类当中的成员变量,需要使用格式:this.成员变量名。
        • this代表所在类的当前对象的引用(地址值),即对象自己的引用。
        • 方法被哪个对象调用,方法中的 this 就代表那个对象。即谁在调用,this 就代表谁。
      • 构造方法
        • 构造方法是专门用来创建对象的方法,当我们通过关键字 new 来创建对象时,其实就是在调用构造方法。
        • 格式
          • public    类名称 (参数类型    参数名称) {
          •          方法体 
          • }
      • 注意事项
        • 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样。
        • 构造方法不要写返回值类型,连 void 都不写。
        • 构造方法不能 return 一个具体的返回值。
        • 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做。
        • 一旦编写了至少一个构造方法,那么编译器将不再赠送。
        • 构造方法也是可以进行重载的。
          • 重载:方法名称相同,参数列表不同。
    • JavaBean
      • JavaBean 是 Java 语言编写类的一种标准规范。符合 JavaBean 的类,要求类必须是具体的和公共的,并且具有无参数的构造方法,提供用来操作成员变量的 set 和 get 方法。
      • 一个标准的类通常要拥有下面四个组成部分
        • 所有的成员变量都要使用private关键字修饰。
        • 为每一个成员变量编写一对儿Getter/Setter方法。
        • 编写一个无参数的构造方法。
        • 编写一个全参数的构造方法。

    三、面向对象和封装完结

     

  • 相关阅读:
    mojo 接口示例
    MojoliciousLite: 实时的web框架 概述
    接口返回json
    centos 6.7 perl 版本 This is perl 5, version 22 安装DBI DBD
    centos 6.7 perl 5.22 安装DBD 需要使用老的perl版本
    商业智能改变汽车行业
    商业智能改变汽车行业
    读MBA经历回顾(上)目的决定手段——北漂18年(48)
    perl 升级到5.20版本
    Group Commit of Binary Log
  • 原文地址:https://www.cnblogs.com/_Moliao/p/12447158.html
Copyright © 2020-2023  润新知