2. 术语解释(类、成员变量、行为、属性、this)以及注销账号和空指针异常

news2024/11/29 8:41:15

文章目录

  • 1. 类
  • 2. 成员变量
  • 3. 行为
  • 4. 属性
  • 5. zhangDog.name 以及 zhangDog.sleep()解析
  • 6. this
    • ① 提出问题
    • ② 解决方案
    • ③ 进一步完善:引入this
  • 7. 注销账号
  • 8. 空指针异常
  • 9. 内容出处

1. 类

在这里插入图片描述
        我们的目的是不是要给狗写一个程序,而且要让所有狗都能用,所以我们之前也提到说在正式编码之前需要先思考一下这些狗的共性(例如:年龄、姓名等),有时也需要考虑一下特性(例如:李阿姨家的狗是一个二哈,经常把家里弄得一团糟,这是它的专属特性,其它一些温顺的狗是不会发疯的。李阿姨专门拜访你,让你帮忙记录一下她家的狗什么时候发疯),也就是说我们需要考虑一下狗类应该具有的属性
在这里插入图片描述
        狗是动物的一个品类。因此我们把从对象中抽离和设计出来的特征放到一个地方,我们把这个地方叫作类。
        类:所有狗都具备这些属性(共性、特性)。
也就是说这些属性的叠加表明了某个生物就是某个品类的生物,例如:张大爷家的宠物就是一条狗。

2. 成员变量

在这里插入图片描述
        变量我们很好理解,例如:年龄、种类,这些都是变量。
        什么是成员?例如:小明家一共有三口人,他爸、他妈还有他。他们中的每个人都是家庭的一个成员,这三个成员的结合构成了一个家庭。
        什么叫成员变量?类中的所有变量都叫作成员变量,它们每一个都是类的重要组成部分。正是因为它们组成和构成了类,所以我们这么命名。
        狗的名字、年龄、品种、食物等信息都是一个宠物狗重要的组成部分,因此狗类中与之对应的每一个变量都是当前类的一个成员变量。

3. 行为

在这里插入图片描述
        行为:就是动作
        狗能有什么举止行动啊?不就是吃喝拉撒睡吗。所以在上述代码中,我们定义的一些方法(也就是c语言中说的函数),像吃饭啊、睡觉啊、生病啊、抓狂啊,都可以称之为行为。

4. 属性

属性:类中成员变量和方法的总称。不管是共性(例如:姓名、年龄、吃饭等),还是特性(例如:抓狂等),都可以称之为当前类的一个属性。

5. zhangDog.name 以及 zhangDog.sleep()解析

对象名.属性:就是实例可以设置属性。简单来说不就是张大爷注册完以后,给他家狗起了个名字吗;不就是王阿姨把她家狗的年龄输进去以后提交了么

6. this

① 提出问题

在这里插入图片描述
        张大爷和王阿姨分别记录了一下自家狗的行为,过几天去翻了一下记录,发现只有什么狗吃饭、狗睡觉之类的。问题是,那个时间段谁在吃饭?谁又在睡觉啊?

② 解决方案

        我们在输出狗的行为之前先输出一下狗的名字
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
        这样一来,我们是不是就能清楚地看出来那个时间段,张大爷家的狗在睡觉,王阿姨家的狗在吃饭了。

③ 进一步完善:引入this

        this.name可以使表达更加清楚。this指的就是调用对象(即当前调用的是哪条狗)
在这里插入图片描述

7. 注销账号

        张大爷说我现在感觉你的APP不好用,有点问题,我现在不想用了。然后你就跟张大爷说:大爷,那你把账号注销一下吧。
在这里插入图片描述
        编译一下,发现没有任何异常。

8. 空指针异常

c语言中空指针的概念

        大爷过几天又来找你了,说想再看看之前的记录。
在这里插入图片描述
代码报错:主线程中有一个错误,空指针异常。
        你跟大爷说,不行啊,程序报错 – 存在空指针异常
        大爷说,我听不懂,啥叫空指针异常啊?
        就是说,您都把这个账号给注销了,系统里已经找不到你家狗的信息了。
在这里插入图片描述
        凡是今后遇到空指针异常问题,那你肯定是操作了一个不存在的对象的属性

9. 内容出处

java

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

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

相关文章

20241004给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Android12【HDMI0显示】

20241004给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Android12【HDMI0显示】 2024/10/4 19:40 1、配置RK3588S的默认DTS为:rk3588s-evb4-lp4x-v10.dts D:\Android\rk3588s4_3588a12\device\rockchip\rk3588\rk3588s_s\BoardConfig.mk Z:\rk3588s4_3588a12\device\ro…

【论文笔记】Efficient LoFTR: Semi-Dense Local Feature Matching with Sparse-Like Speed

【引用格式】:Wang Y, He X, Peng S, et al. Efficient LoFTR: Semi-dense local feature matching with sparse-like speed[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2024: 21666-21675. 【网址】:ht…

PostgreSQL Docker Error – 5432: 地址已被占用

PostgreSQL Docker Error – 5432: 地址已被占用 今天在学习【Spring Boot React】价值79.9美元,全栈开发,搭建个人网站、做毕业设计、试试这套课程第17~21节视频的时候,发现运行docker run --name demo-postgres -e POSTGRES_PASSWORDpass…

数据集-目标检测系列- 货船 检测数据集 freighter>> DataBall

数据集-目标检测系列- 货船 检测数据集 freighter>> DataBall 数据集-目标检测系列- 货船 检测数据集 freighter>> DataBall 数据量:3k 想要进一步了解,请联系。 DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种…

高效参数微调

一、增加额外参数的方法 这些方法通过向模型中添加额外的可训练参数,而不修改原有的预训练模型参数。 1. Prefix Tuning(前缀微调) 原理:在每一层的输入添加一组可训练的“前缀”向量,这些前缀向量会影响模型的输出…

使用PL/SQL Deverloper过程遇见的问题

目录 背景: ORA-01031权限问题: PL/SQL Deverloper显示Oravle中存在的所有表: PL/SQL Deverloper优点: 背景: PL/SQL Developer是由Allround Automations公司开发的一款集成开发环境(IDE),它专门面向Oracle数据库存储的程序单元的开发。随着越来越多…

Python+Matplotlib可视化初等函数示例

import numpy as np import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] Falsefig, axs plt.subplots(2, 3, figsize(15, 10))# 1. 幂函数 x np.linspace(-2, 2, 200) axs[0, 0].plot(x, x**2, labely x^2) axs[0,…

每日OJ题_牛客_OR63删除公共字符_哈希_C++_Java

目录 牛客_OR63删除公共字符_哈希 题目解析 C代码1 C代码2 Java代码 牛客_OR63删除公共字符_哈希 删除公共字符_牛客题霸_牛客网 (nowcoder.com) 题目解析 用哈希表记录一下字符串的字符信息即可。 C代码1 #include <iostream> #include <string> #includ…

C语言 动态数据结构的C语言实现内存映像

C程序的内存映像 C程序中变量的内存分配方式  C程序中变量的内存分配方式  从静态存储区分配  全局变量和静态变量 C程序中变量的内存分配方式  从静态存储区分配  全局变量和静态变量  在栈上分配  存放函数参数值&#xff0c;局部变量值等  …

角膜移植难题现,传统方式缺陷显,创新水凝胶破局

大家好&#xff01;今天来了解一篇天然聚合物衍生光固化生物粘附水凝胶研究——《Natural polymer-derived photocurable bioadhesive hydrogels for sutureless keratoplasty》发表于《Bioactive Materials》。本文介绍了一种用于无缝合角膜移植术的天然聚合物衍生光固化生物粘…

Leetcode—76. 最小覆盖子串【困难】

2024每日刷题&#xff08;167&#xff09; Leetcode—76. 最小覆盖子串 C实现代码 class Solution { public:string minWindow(string s, string t) {int bestL -1;int l 0, r 0;vector<int> cnt(128);for(const char c: t) {cnt[c];}int require t.length();int m…

程序员必备!面向Prompt编程全攻略

前言 程序员工作的终极意义&#xff0c;就是干掉复杂度&#xff0c;用一套通用的方法解决大部分问题。在大模型时代&#xff0c;这个通用的方法就是——Prompt 工程。作为用好大模型最重要的武器&#xff0c;Prompt 的好坏对模型效果有着决定性的影响。 然而&#xff0c;网络…

MySQL8.0高可用MIC

一、机器准备 机器 主机名 ip地址 角色 软件 mic-master 192.168.252.148 主节点 mysql8.0.23 mysql-shell-8.0.23 mic-node1 192.168.252.142 node1 mysql8.0.23 mic-node2 192.168.252.145 node2 mysql8.0.23 关闭防火墙 systemctl stop firewalld setenf…

GPTQ vs AWQ vs GGUF(GGML) 速览和 GGUF 文件命名规范

简单介绍一下四者的区别。 参考链接&#xff1a;GPTQ - 2210.17323 | AWQ - 2306.00978 | GGML | GGUF - docs | What is GGUF and GGML? 文章目录 GPTQ vs AWQ vs GGUF&#xff08;GGML&#xff09; 速览GGUF 文件命名GGUF 文件结构文件名解析答案 附录GGUF 文件命名GGUF 文件…

pWnOS2.0 靶机渗透( cms 渗透,php+mysql 网站渗透,密码碰撞)

pWnOS2.0 靶机渗透( ) 靶机介绍 vulnhub 靶机 本地搭建 由于靶机特性&#xff0c;靶机网卡位nat模式扫不到&#xff0c;原来需要改 nat 的地址 参考方法 https://blog.csdn.net/Bossfrank/article/details/131415257 作者主页 https://blog.csdn.net/Bossfrank?typeblog P…

Spring Boot新闻推荐系统:性能优化策略

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 新闻推荐系统的系统管理员可以可以对用户信息添加修改删除操作。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.1.2 排行榜管理 系统管理员可以对排行榜进行手动管理&#xff0c;可以对排行榜进行添加删除修…

Acwing 背包问题

背包问题 首先&#xff0c;什么是背包问题&#xff1f; 给定N个物品和一个容量为V的背包&#xff0c;每个物品有体积和价值两种属性&#xff0c;在一些限制条件下&#xff0c;将一些物品放入背包&#xff0c;使得在不超过背包体积的情况下&#xff0c;能够得到的最大价值。根据…

老年人意外跌倒感知技术

意外跌倒是导致老年人仙游的6大原因之一&#xff0c;尤其多余80岁以上的老年人。跌倒已成为我国 65 岁以上老年人因伤致死的首位原因&#xff08;来源&#xff1a;IT之家&#xff09;。 跌倒最容易发生在两个地方&#xff0c;卫生间和过道。主要可能是卫生间没有安装扶手&…

关于Generator,async 和 await的介绍

在本篇文章中我们主要围绕下面几个问题来介绍async 和await &#x1f370;Generator的作用&#xff0c;async 及 await 的特点&#xff0c;它们的优点和缺点分别是什么&#xff1f;await 原理是什么&#xff1f; &#x1f4c5;我的感受是我们先来了解Generator&#xff0c;在去…