• Java之封装


    封装
    封装:将功能封装到方法(最基本的封装体)时,将方法封装到类中。
    封装的优势:①提高代码的复用性,提高代码的可读性。②隐藏了实现实现 private(私有,权限修饰符),可以对外提供访问(通过set/get方法)。③保证了安全性。
    在类中,成员变量,成员方法为存值,取值,判定。
    具体方法的调用、操作打印、流程控制等尽量在main中实现。
     1 举例:private是私有的一种体现形式
     2 class Person {
     3 // 私有成员变量
     4 private int age;
     5 private String name;
     6 // 对外提供设置成员变量的方法
     7 public void setAge(int a) {
     8 // 由于是设置成员变量的值,这里可以加入数据的验证
     9 if (a < 0 || a > 130) {
    10 System.out.println(a + "不符合年龄的数据范围");
    11 return;
    12 }
    13 age = a; 
    14 }
    15 // 对外提供访问成员变量的方法
    16 public void getAge() {
    17 return age;
    18 }
    19 }

    对成员变量,使用private修饰私有化。使用set和get方法,进行赋值,调用

    注:在eclipse中在编码区,右击空白,选择source,再选择generate  settes and  getters,快速创建设置和访问方法。

     1 class Person {
     2     // 私有成员变量
     3     private int age;
     4     private String name;
     5 
     6     // 对外提供设置成员变量的方法
     7     public void setAge(int a) {
     8         // 由于是设置成员变量的值,这里可以加入数据的验证
     9         if (a < 0 || a > 130) {
    10             System.out.println(a + "不符合年龄的数据范围");
    11             return;
    12         }
    13         age = a; 
    14     }
    15 
    16     // 对外提供访问成员变量的方法
    17     public void getAge() {
    18         return age;
    19     }
    20 }
    this
    变量
    在类中方法
    在方法中
    相同名称的变量执行就近原则
    代表类
    谁调用了这个方法就代表谁,一般在赋值号的右边
     注:this如果没有调用,则指向类,如果有对象调用,则指向对象。

     举例:判断同龄人(一个通过调用方法传入,一个通过参数传入)

     1 class Person {
     2     private int age;
     3     private String name;
     4     
     5     public int getAge() {
     6         return age;
     7     }
     8 
     9     public void setAge(int age) {
    10         this.age = age;
    11     }
    12 
    13     public String getName() {
    14         return name;
    15     }
    16 
    17     public void setName(String name) {
    18         this.name = name;
    19     }
    20 
    21     public void speak() {
    22         System.out.println("name=" + this.name + ",age=" + this.age);
    23     }
    24 
    25     // 判断是否为同龄人
    26     public boolean equalsAge(Person p) {
    27         // 使用当前调用该equalsAge方法对象的age和传递进来p的age进行比较
    28         // 由于无法确定具体是哪一个对象调用equalsAge方法,这里就可以使用this来代替
    29         /*
    30          * if(this.age == p.age) { return true; } return false;
    31          */
    32         return this.age == p.age;
    33     }
    34 }
  • 相关阅读:
    使用Dynamics 365 Diagnostics 来检查网络链接
    Dynamics 365 使用power apps 创建 Auto Number
    Dynamics 365 多语言配置
    在AAD 注册 API permission
    python学习笔记20:序列
    python学习笔记19:集合set
    python学习笔记18:字典dict
    python学习笔记17:列表list
    python学习笔记16:正则表达式
    python学习笔记15:通过字符串导入模块
  • 原文地址:https://www.cnblogs.com/mlf19920916/p/12070482.html
Copyright © 2020-2023  润新知