第十二周 5.20 面向对象的三大特性(封装、继承、多态)(一)

news2024/11/15 23:27:05

一、封装
1.目前的程序无法保证数据的安全性、容易造成业务数据的错误
2.private:私有的,被private修饰的内容只能在本类中访问
3.为私有化的属性提供公开的get和set方法
        (1)get方法,获取私有化属性的值:

                public 返回值类型 get属性名(){
                        return 属性名;

                }
                注意:返回值类型取决于获取属性的类型方法名:get+属性名首字母大写
        (2)set方法,为私有化属性赋值:

                public void set属性名(数据类型 变量名){
                        this.属性名=变量名

                }
                注意:()中的数据类型取决于属性类型方法名:set+属性名首字母大写

二、继承

碳素笔     是一种        笔

  杯          是一种       容器
  狗          是一种       动物
   A            is  a            B
如果 A  is-a  B 关系成立,A和B 之间具有继承关系
  A - 子类   继承     B-父类
                extends

1.理解:
        (1)继承体现的是类之间的一种“is-a”关系
A           is       a            B
子类                                 父类
子类                                 父类

                 继承
                extends
        (2)语法:
                class 子类类名     extends 父类类名{}
        (3)通过继承关系,子类型可以直接使用父类中定义的属性和方法
2.继承体现了程序的复用性和可扩展性

3.方法的覆盖【也被称为方法的重写-override】
        (1)方法的覆盖:子类中定义和父类中相同的方法

        (2)方法的覆盖要求:
                a.子类的方法名、形参列表、返回值类型必须和父类一致
                b.子类的访问修饰符,和父类相同或是比父类更众
        (3)如果子类覆盖了父类中方法,则优先使用子类覆盖后的
        (4)注意:如果子类定义了和父类方法名、形参列表相同,但是返回值类型不同的方法,则编译报错

        (5)如果子类定义了和父类方法名相同、形参列表不同的方法,则编译通过,运行也ok,这构成了方法的重载
4.Java中继承特点

       (1)一个父类可以有多个直接的子类

                class Animal{}

                class Dog extends Animal{}
                class cat extends Animal{}
        (2)一个子类只能有一个直接的父类,但是可以有多个间接的父类(多级继承),java中的类之间是单继承

5.java中的访问修饰符:
        (1)访问修饰符代表一种访问权限

        (2)java中有4个访问修饰符:

                private:私有的

                default:默认的

                protected:受保护的

                public:公开的
        (3)访问修饰符的访问权限:

                          本类                   同包                       非同包的子类

其他

private                ok
default                ok                        ok
protected            ok                        ok
public                  ok                        ok                                ok

        (4)访问修饰符修饰内容的继承性:
                private 修饰的属性和方法,不能被继承
                default 修饰的属性和方法,同包子类允许继承
                protected 修饰的属性和方法,同包+非同包子类继承
                public 修饰的属性和方法,所有子类都可以继承

6.super的应用:

        (1)第一种用法:super.
                a.super.引用在子类的方法中,代表访问父类中属性或是成员方法
                b.super.属性名

                        super.成员方法名(实参);
        (2)第二种用法:super()
                a.创建子类对象时,jvm默认创建一个父类对象,而且默认使用父类中无参数的构造方法完成父类对象的创建
                b.super()/super(实参):应用在子类的构造方法的第一行有效语句中,代表创建子类对象时,告知jvm完成父类对象创建时采用哪一个构造方法完成对象的创建
                c:如果子类的构造方法第一行没有指定super()/super(实参),则默认添加super()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1705976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第十三周 5.27面向对象的三大特性(封装、继承、多态)(三)

3.instanceof避免类型转换异常: (1)语法:引用名 instanceof 类名 (2)执行:判断引用中存储的实际对象类型是否兼容于后面的类型(是否为后面类型的一种),兼容一true,不兼容—false (3)作用:可以在程序设计中避免类型转换异常 直接使用案例…

电磁辐射仿真软件CST的材料概述【仿真入门】

材料概述(1) CST中提供的各种材料! 下面介绍一下,CST中可以设置的材料属性。 -PEC是Perfect Electric Conductor的缩写,表示没有Loss的理想导体。 -Normal基本的材料模型,一般多用于介质(Dielectric)材料定义。 -Anisotropic…

M-A352AD在桥梁/建筑结构健康监测中的应用

钢筋混凝土的面世,使人类基建迈进了新的阶段,大规模的桥梁和高楼大厦拔地而起。随之而来的,就是对其安全的忧虑。因此,我们需要对其结构安全健康进行监测,以保证行恰当的维护和提前发现隐患。桥梁/建筑结构健康监测是以…

重庆耶非凡科技有限公司有选品师项目培训吗?

在当今科技飞速发展的时代,各种科技公司如雨后春笋般涌现,它们在不同领域发挥着重要作用。其中,重庆耶非凡科技有限公司以其独特的业务模式和专业服务,在业界赢得了良好的口碑。那么,重庆耶非凡科技有限公司究竟是做什…

Softing线上研讨会 | 使用Softing smartLink SW-HT将AB PLC下的HART设备连接到艾默生AMS设备管理器

| (免费) 线上研讨会时间:2024年6月25日 14:00~14:45 / 22:30~23:15 艾默生AMS设备管理器凭借其全面功能、优秀诊断能力、兼容性以及远程监控和管理功能,在过程工业中被证明是一款先进的工厂资产管理工具,可用于设备配置、诊断和监控、仪表校…

HCIE vs CCIE:网络界的巅峰对决,你选谁?

在网络工程领域,HCIE和CCIE是两个都属于是顶级认证。 作为网络工程师,你可能在选择认证时面临困惑。那么,HCIE和CCIE到底有什么区别?哪个更适合你? 今天,我们来一场巅峰对决,看看这两大认证的…

c++——模板初始识

1.函数模板 我们经常用到Swap函数交换两个值。由于需要交换的数据的类型不同,我们就需要写不同参数类型的同名函数,也就是函数重载: 然而这三个函数的逻辑是一样的,写这么多有些多此一举,通过函数模版可以写一个通用…

文献解读-群体基因组第一期|《对BMI的影响:探究BMI的基因型-环境效应》

关键词:应用遗传流行病学;群体测序;群体基因组;基因组变异检测; 文献简介 标题(英文):The Impact of ACEs on BMI: An Investigation of the Genotype-Environment Effects of BMI标…

民国漫画杂志《时代漫画》第28期.PDF

时代漫画28.PDF: https://url03.ctfile.com/f/1779803-1248635321-5c67ad?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

Vue中使用Vue-scroll做表格使得在x轴滑动

页面效果 首先 npm i vuescroll 在main.js中挂载到全局 页面代码 <template><div class"app-container"><Header :titletitle gobackgoBack><template v-slot:icon><van-icon clickgoHome classicon namewap-home-o /></templat…

svix - webhooks

文章目录 一、关于 SvixClient Library Overview与 Svix 托管服务的区别 二、运行服务器1、部署1.1 Docker1) 使用 Docker Compose2) 独立容器 1.2 预编译的二进制文件1.3 从源代码构建 2、运行时依赖项3、Redis/Valkey 注意事项持久性 Eviction 政策4、服务器配置4.1 配置文件…

【探索数据之美】“从基础到精通——深入解析数据结构与二叉树的秘密“

gitee代码获取链接&#xff1a;https://gitee.com/flying-wolf-loves-learning/data-structure.git 一、树的概念 1.1 概念简述 数据结构中的树是一种层次结构&#xff0c;它由节点&#xff08;node&#xff09;和边&#xff08;edge&#xff09;组成。每个节点都有零个或多…

微服务-Nacos-安装-集成SpringBoot

微服务-SpringCloud-ALibaba-Nacos Nacos 是阿里巴巴推出的 SpringCloud的组件 官网:什么是 Nacos 主要是为了解决微服务的架构中 服务治理的问题服务治理就是进行服务的自动化管理&#xff0c;其核心是服务的注册与发现。 服务注册&#xff1a;服务实例将自身服务信息注册…

用友GRP-U8 sqcxIndex.jsp SQL注入漏洞(XVE-2024-12560)

声明&#xff1a; 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 简介 用友GRP-U8是用友公司专注于国家电子政务事业&#…

使用 Spring HATEOAS 开发 REST 服务-浅显的理解

随笔&#xff0c;简单理解 一、restful是什么 1、第一层次&#xff08;Level 0&#xff09;的 Web 服务只是使用 HTTP 作为传输方式&#xff0c;实际上只是远程方法调用&#xff08;RPC&#xff09;的一种具体形式。 SOAP 和 XML-RPC 都属于此类 2、第二层次&#xff08;Lev…

三坐标测量机在汽车零部件质量控制中的应用

高质量的零部件能够确保汽车的性能达到设计标准&#xff0c;包括动力性能、燃油效率、操控稳定性等&#xff0c;从而提供更好的驾驶体验&#xff0c;建立消费者对汽车品牌的信任&#xff1b;也推动了汽车行业的技术创新&#xff0c;制造商不断研发新材料、新工艺&#xff0c;以…

汽车制造业安全有效的设计图纸文件外发系统是什么样的?

在汽车制造的世界里&#xff0c;那些设计图不仅仅是公司智慧的闪光点&#xff0c;更是它们竞争的秘密武器。但问题来了&#xff0c;当公司需要和供应商、合作伙伴频繁交换数据时&#xff0c;怎样安全又高效地发送这些设计图&#xff0c;就成了一个头疼的问题。这篇文章会深挖一…

图解 BERT 模型

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…

go使用letteravatar生成圆形透明头像图标

官网地址&#xff1a;GitHub - disintegration/letteravatar: Letter avatar generation for Go 我对其中函数改了一下&#xff0c;支持多个字符&#xff0c;效果如下&#xff1a; func TestCreateAvatar(t *testing.T) {GenerateAvatar("Bird Fish", 0, "Bird…

【包邮送书】你好!C语言

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…