首页 > 其他分享 >17-oop封装

17-oop封装

时间:2024-06-23 18:21:19浏览次数:3  
标签:set 封装 17 int age private oop public

封装

  • 信息隐藏:应禁止直接访问一个对象中数据的实际表示,而应通过接口操作来访问
  • 属性私有,get/set
  • 追求“高内聚,低耦合”
//类
//封装的核心关键字:private 私有
public class Student {
    //属性私有
    private String name;//名字
    private int id;    //学号
    private char sex;   //性别
    private int age;  //年龄

    //提供一些可以操作这些属性的方法
    //提供一些public的get、set方法

    //get 获得这个数据
    public int getAge() {
        return age;
    }

    //set 给这个数据设置值
    public void setAge(int age) {
        if(age>120||age<0){//在方法里加上判断逻辑,是否数据合法
            System.out.println("年龄不合法");
        }else{
            this.age = age;
        }
    }
    //快捷键:alt + insert 自动生成get、set方法

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

作用:

  1. 提高程序的安全性,保护数据
  2. 隐藏代码的实现细节
  3. 统一接口
  4. 增加系统可维护性

标签:set,封装,17,int,age,private,oop,public
From: https://www.cnblogs.com/Mc9r4dy/p/18263760

相关文章

  • CF1707E Replace
    题目描述给定一个长为\(n\)的序列\(a_1,\ldots,a_n\),其中对于任意的\(i\)满足\(1\leqa_i\leqn\)。定义一个二元组函数如下:\[f((l,r))=(\min\{a_l,\ldots,a_r\},\max\{a_l,\ldots,a_r\})(l\leqr)\]你需要回答\(q\)次询问,每次给定\((l_i,r_i)\),问其最少经过多少......
  • CF1770E Koxia and Tree
    题目描述给定一棵\(n\)个点的树,在\(k\)个位置上存在蝴蝶,我们需要给\(n-1\)条边定向,如果一条边的起点有蝴蝶且终点没有蝴蝶,那么蝴蝶将被移动到终点,我们会按照给定边的顺序移动,问最终所有蝴蝶的树上距离的和的期望,答案除于\(\frac{k(k-1)}{2}\),对\(998244353\)取模\[k\len\le300......
  • 16-oop构造器
    构造器使用new关键字,本质是在调用构造器类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的。特点:必须和类的名字相同必须没有返回值类型,也不能写voidpublicclassPerson{//一个类即使什么都不写,也会存在一个方法(构造器)/*publicPerso......
  • 14-oop方法回顾
    方法回顾//Demo01类publicclassDemo01{//main方法publicstaticvoidmain(String[]args){}/*修饰符返回值类型方法名(...){//方法体return返回值;//return表示方法结束,返回一个结果}*/publ......
  • 13-oop概述
    面向对象思想物以类聚,分类的思维模式。分类,然后对这些分类进行单独思考,最后对某个分类下的细节进行面向过程对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是具体到微观的操作,仍然需要面向过程的思路去处理。面向对象是......
  • Hadoop+Hive超全笔记 一站式搞定!!
    Hadoophadoop集群的组成hadoop常用端口HDFS常用shell命令HDFS的原理、机制块和副本edits和fsimage文件HDFS的三大机制HDFS数据上传、写入原理(写流程)【重点】HDFS数据读取(读流程)【重点】原数据存储流程【重点】安全模式归档机制(小文件)垃圾桶机制MapReduce底层原......
  • 硬件开发笔记(二十):AD21导入外部下载的元器件原理图库、封装库和3D模型
    若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139707771长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…硬件相关开发......
  • 硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart
    若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139869584长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…硬件相关开发......
  • Hadoop电商日志数据分析(一)
    项目要求根据电商日志文件,分析:1.统计页面浏览量(每行记录就是一次浏览)2.统计各个省份的浏览量(需要解析IP)3.日志的ETL操作(ETL:数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程)为什么要ETL:没有必要解析出所有数据,只需要解析出有价值的字段即可。本......
  • Hadoop电商日志数据分析(三)
    ETL1.ETL的重要性==>存在的问题:每个MR作业都去全量读取待处理的原始日志,如果数据量很大,将非常不可取ETL:数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程为什么要ETL:没有必要解析出所有数据,只需要解析出有价值的字段即可。全量数据不方便直接进行计算......