首页 > 其他分享 >封装与继承

封装与继承

时间:2023-09-07 09:02:03浏览次数:22  
标签:封装 变量 继承 成员 构造 访问 静态

1. 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,⽽是通过该类提供的⽅法来实现隐藏信息的操作和访问。 2. 封装的两原则

  1. 把所有的属性隐藏起来
  2. 为允许访问的属性创建相应的⽅法
3. 实现封装的步骤
  1. 所有属性修改为private修改,以⽰私有化,即不能被外部访问。
  2. 为私有化的成员变量提供公有的访问⽅法,如果是设置⽅法必须是以set开头的⽅法定义,如果是获取⽅法且是⾮布尔值的必须是get开头的⽅法定义,如果是布尔值必须是is开头的⽅法定义。
  3. 可以在以上访问⽅法中编写相关的业务逻辑代码。
4. 包的概念
  1. 本质上就是⼀个⽬录,但只能存放类(class)。
  2. 功能:解决命名冲突,便于分门别类和管理,提供了访问的作⽤域。
  3. 创建包通过关键字package。
  4. 包名采⽤点分隔,全⼩写标识符构成的序列。
  5. 建包的语句必须写在java⽂件的⾸⾏。
  6. 在java中所有 的类都在⼀个包中存在,⽽java.lang包中存放的是标准类。
  7. 如果在当前类中需要其他类但不是在同⼀个包中时,则需要显⽰导⼊指定的包,可能通过关键字,import导⼊。
  8. 在导⼊包中的类如果⽐较多时,则可以通过*这个通配符来表示所有类。
  9. 必须先创建包,package,再导⼊包import。
5. 访问修饰符
  1. public 可以在包内(同⼀个类,同⼀个包),包个随意访问。
  2. 默认修改符(不写)可以在包内(同⼀个类,同⼀个包)随意访问。
  3. protected 跟他有关系的都可以访问(同类,同包,⼦类)。
  4. private 只能在同类中访问。
  5. static关键字。
1. 如果数据需要被所有对象共享,那么这个数据可以通过static来修饰的成员变量存储,此成员变量称为静态成员变量。

2. 操作静态变量数据的⽅法称为静态⽅法。。

3. 静态代码块主要⽤来初始化静态成员变量。

4. 静态成员可以通过类直接访问。

5. 静态代码块优先于构造器⽅法,多个静态代码块按顺序执⾏。

6. 实例变量属于每个对象独有,静态变量属于所有对象共有,即属于类的。

7. 静态⽅法只能访问静态成员,实例⽅法可以访问所有成员。

 

8. 继承
  1. 继承可以优化代码,重⽤代码。
  2. 当有多个类属于同⼀个逻辑(is-a) 时并有相同代码时可以使⽤继承实现。
  3. 先编写⽗类再编写⼦类,⼦类 extends ⽗类,且必须单⼀继承。
  4. 被protected修饰的成员能在类中被访问,能在包中被其他类访问,能在包外的⼦类中访问。
  5. 在⼦类中访问⽗类的成员时可通过super关键字实现,可以调⽤⽗类的成员变量,成员⽅法,构造⽅法,在⼦类构造⽅法中调⽤⽗类的构造⽅法时但必须把super写在⾸⾏。
  6. 在创建⼦类对象时先创建⽗类对象,所以在调⽤⼦类构造⽅法时先调⽤⽗类构造⽅法且默认调⽤⽗类的⽆参构造⽅法,在⼦类中也可以通过supter调⽤指定的⽗类构造⽅法。
  7. 继承public和protected修饰的属性和⽅法,不管⼦类和⽗类是否在同⼀个包⾥继承默认权限修饰符修饰的属性和⽅法,但⼦类和⽗类必须在同⼀个包⾥。

 

 

标签:封装,变量,继承,成员,构造,访问,静态
From: https://www.cnblogs.com/hsk991213/p/17683899.html

相关文章

  • DRF01---快速上手,请求的封装,版本管理,认证,权限
    1.3djangorestframework(上)djangorestframework(简称drf)本质上其实就是一个别人编写好的app,里面集成了很多编写restfulAPI的功能功能,接下里咱们就来学习drf并用他来开发restfulAPI。drf内置了很多便捷的功能,在接下来的课程中会给大家依次讲解下面的内容:快速上手请求的......
  • 类的继承
    类的继承1.Java只支持单继承。2.子类在继承父类后,创建子类的同时会调用父类的构造方法。3.子类继承父类后可以调用父类创建好的属性和方法。4.Java不允许同时继承两个父类,但可以进行多代继承如:祖父>父>儿子>孙子。如下: Object类1.Object类是所有类的父类。2.创建一个类......
  • 类与继承及修饰符public 、private 、protected 的使用方法
    1.什么是类类可以理解成为一个模板,通过这个模板可以实例化某一个具体对象比如说:我们定义一个动物类,通过这个动物模板可以实例化成为猫或者其他具体的动物2.类的基本使用我们需要创建一个动物类;这个动物有姓名、【默认值小可爱,字符串类型】年龄、【默认值20,数字类型】性......
  • axios封装后发get请求
    ruoyi的前端对axios进行了封装,让我们发get请求或者是post请求更加方便了。ruoyi对axios的封装在下面文件中:打开文件,可以看到它有三个显眼的方法,分别是request拦截器、response拦截器和通用下载方法。request拦截器对我们发送的请求进行了封装,当我们发送Get请求,那么我们携带参数......
  • C++中虚继承时的构造函数
    在虚继承中,虚基类是由最终的派生类初始化的,换句话说,最终派生类的构造函数必须要调用虚基类的构造函数。对最终的派生类来说,虚基类是间接基类,而不是直接基类。这跟普通继承不同,在普通继承中,派生类构造函数中只能调用直接基类的构造函数,不能调用间接基类的。下面我们以菱形继承为例来......
  • 继承
    原型链继承点击查看代码functionAnimal(){this.colors=['black','white']}Animal.prototype.getColor=function(){returnthis.colors}functionDog(){}Dog.prototype=newAnimal()letdog1=newDog()dog1.colors.push('brown')......
  • uni-app 数字输入框组件封装
    (文章目录)前言数字输入框是一个项目中常见的需求,其中的耦合度很高,完全可以将其封装起来使用,在使用的时候传入五个参数,分别为:最大值最小值默认值弹出层的开启与关闭确认后的回传数据一、创建数字输入框文件创建一个文件夹components,在文件夹中创建vue文件dialog二、......
  • 什么是瓷片电容封装 | 百能云芯
    瓷片电容封装是一种常见的电子元件封装方式,它广泛应用在电子设备中,用于存储和释放电荷,以实现电路的稳定工作。在本文中,我们将详细介绍瓷片电容封装的特点以及用途。瓷片电容封装的特点:瓷片电容是一种以陶瓷材料为基础制成的电容器。其封装通常采用了一些非常特定的工艺......
  • drf请求和响应、GenericAPIView封装、5个视图扩展类
    一、drf之请求1、drf之请求Request类视图类继承APIView后多了-0去除了csrf认证-1新的request-request.data-request.query_params-request.其他跟之前一样-request._request是老的-2三大认证-3全局异常2、控制前端请求的编码格式fromrest_fra......
  • vue3+ts Axios封装—重复请求拦截
    创建好vue3项目1.安装Axios与ElementPlusAxios安装npminstallaxiosElementPlus安装官网入口:https://element-plus.gitee.io/zh-CN/npminstallelement-plus--saveElement主要用到信息提示与全屏加载动画2.在src目录下创建api文件夹和utils文件夹api......