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

一、封装
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.mzph.cn/web/17872.shtml

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

相关文章

[SWPUCTF 2022 新生赛]奇妙的MD5... ...

目录 [SWPUCTF 2022 新生赛]奇妙的MD5 [GDOUCTF 2023]受不了一点 [LitCTF 2023]作业管理系统 注入点一:文件上传 注入点二:创建文件直接写一句话木马 注入点三:获取数据库备份文件 [LitCTF 2023]1zjs [SWPUCTF 2022 新生赛]奇妙的MD5 …

生成式AI的GPU网络技术架构

生成式AI的GPU网络 引言:超大规模企业竞相部署拥有64K GPU的大型集群,以支撑各种生成式AI训练需求。尽管庞大Transformer模型与数据集需数千GPU,但实现GPU间任意非阻塞连接或显冗余。如何高效利用资源,成为业界关注焦点。 张量并…

单调栈--

1.每日温度 那么单调栈的原理是什么呢?为什么时间复杂度是O(n)就可以找到每一个元素的右边第一个比它大的元素位置呢? 单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数…

利用迭代方法求解线性方程组(Matlab)

一、问题描述 利用迭代方法求解线性方程组。 二、实验目的 掌握Jacobi 方法和Gauss-Seidel 方法的原理,能够编写代码实现两种迭代方法;能够利用代码分析线性方程组求解中的误差情况。 三、实验内容及要求 用代码实现:对下列方程中重新组织…

基于盲源分离和半盲源分离的心电信号伪影消除方法(MATLAB 2018)

心电信号是通过测量放置在人体皮肤上的电极之间的电位差来获取的,其本身具有信号微弱、频段低、不稳定等特性。因此ECG信号在实际采集时极易受到不同噪声的影响,这会造成心电图本身的波形形态特征的失真,从而导致错误诊断和对患者的不当治疗。…

2024年5月软考成绩什么时候出?附查询方式

2024年5月软考成绩查询时间及查询方式: 查询时间:预计在2024年7月上旬进行。 查询方式: 方式一:登陆中国计算机技术职业资格网(www.ruankao.org.cn),点击报名系统,输入注册账号和…

echart图表legend每列固定宽度

修改前: 修改后: 关键代码: 设置一个背景并使之透明,否则宽度不生效,配合formatter使用 formatter: {a|{name}},rich:{a: {width: 48,fontSize: 12,backgroundColor: "rgba(11, 39, 52, 0)" // 关键代码&a…

高效编写大模型 Prompt 提示词,解锁 AI 无限创意潜能

随着 ChatGPT 的出现,AI 成为新的焦点,有人说过“未来 50%的工作将是提示词工作”,目前很多公司也在开始招聘 Prompt 提示词工程师。Prompt(提示词)成为了连接创意与技术的桥梁,它不仅是简单的指令&#xf…

2024年第七届管理、经济和社会科学国际会议(ICMESS 2024)

2024年第七届管理、经济和社会科学国际会议(ICMESS 2024) 会议简介 2024年第七届管理、经济和社会科学国际会议(ICMESS 2024)将为“管理、经济与社会发展”等最新研究领域的研究人员、专家、学者和行业专家提供一个平台,介绍他们的最新研究…

Python OCR 文字检测使用模型:读光-文字检测-DBNet行检测模型-中英-通用领域

介绍 什么是OCR? OCR是“Optical Character Recognition”的缩写,中文意为“光学字符识别”。它是一种技术,可以识别和转换打印在纸张或图像上的文字和字符为机器可处理的格式,如计算机文本文件。通过使用OCR技术,可…

Vue:快速上手

一、简介 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,…

信息化教推动数字化学校建设

在数字化学校建造的过程中,许多学校都疏忽了运用这些网络科技渠道的教师和学生,一味的追求学校数字化、智能化建造,没有从根本上意识到教育信息化的出现者或者说体现者的重要性,因而,建造数字化学校,前进教…

微服务架构-聚合设计模式

微服务架构-聚合设计模式 聚合器(Aggregator)设计模式:用于将来自多个微服务的数据,聚合成一个统一的响应,提供给客户端。 聚合模式的核心思想:是使用一个聚合器服务(Aggregator Service&#…

你对仲裁裁决不服怎么办?我教你四个狠招!

你对仲裁裁决不服怎么办?我教你四个狠招! 这个标题是什么意思呢?也就是说,当你(或用人单位)向劳动仲裁委提出仲裁申请后,但劳动仲裁结果没有维护你的权益,或者你不满意,…

[STM32+HAL]LD-1501MG舵机二次开发指南

一、准备材料 核心板:STM32F407ZGT6 舵机:LD-1501MG数字舵机 控制器:24路PWM舵机控制器 二、HAL库配置 开启串口与控制器通信 三、Keil填写代码 1、Servo.c #include "Servo.h" #include "usart.h"uint8_t Message…

python内存马学习

python内存马学习 python内存马学习 python内存马学习环境搭建和复现分析payloadFlask 请求上下文管理机制bypass高版本flask内存马的利用before_request**after_request** teardown_requesterrorhandler相关例题H&NCTF 2024 ezFlask python内存马 环境搭建和复现 from fl…

离大模型落地应用最近的工程化技术(RAG)

虽然大规模语言模型(LLM)在自然语言处理(NLP)方面表现出了其强大的文本生成和理解能力,但是它们在实际应用中仍然面临一些挑战,如处理大规模知识库和实时获取最新信息的能力,并且会产生幻觉。为…

「代码厨房大揭秘:Python性能优化的烹饪秘籍!」

哈喽,我是阿佑,上篇咱们讲了 Socket 编程 —— 探索Python Socket编程,赋予你的网络应用隐形斗篷般的超能力!从基础到实战,构建安全的聊天室和HTTP服务器,成为网络世界的守护者。加入我们,一起揭…

区块链系统开发测试----链码部署开发、系统开发验证

一.检查配置环境 检查虚拟机环境,确保有正在运行的Hyperledger Fabric区块链,并且其中chaincode_basic、credit_chaincode链码可以正常调用 查看chaincode_basic、credit_chaincode链码调用 二.开发征信链码代码 基于现有征信链码,开发征信…

Niantic利用Meta Llama让数字生物栩栩如生

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…