【C#图解教程】第五章 类的基本概念

news2024/11/23 3:34:43

程序和类

类是一个能储存数据并执行代码的经过封装的数据结构,包含数据成员和函数成员,类内通常会包含逻辑上相关的数据和函数,所以类通常会代表真实世界或概念上的事物。
在这里插入图片描述
运行中的C#程序实质上是许多实例之间相互作用:
在这里插入图片描述

类的声明

类是一种类型,这个在第四章提到了,但是属于自定义类型,所以不像int、long这种预定义类型可以直接使用,而是需要声明定义这个类的内容,包括类的名字、成员和特征,注意成员的声明可以是任何顺序

类的成员

字段和方法是最重要的类成员类型,字段是数据成员,方法是函数成员。

字段

字段是隶属于类的变量,可以是预定义类型的变量,也可以是自定义类型的变量
注:与C/C++不同,C#在类外不能声明全局变量。所有字段必须在类内声明,都属于类。
但是可以定义一个类,通过静态变量存放全局变量,调用的时候用common来调用即可

字段初始化

值类型初始化默认为0,引用类型默认为null,布尔类型为false

方法

方法是具有名称的可执行代码块(函数),当方法被调用时,先跳转到自己代码块的位置执行,然后跳回被调用位置继续向后执行。

方法的声明包含:
在这里插入图片描述注:与C/C++不同,C#中没有全局函数。并且所有函数没有默认的返回类型,必须指定返回类型。

类的内存分配

第四章提到类是引用类型,所以需要在栈内存放地址,在堆存放实际数据。
我们声明类类型的变量所分配的内存是用来保存引用的,要保存实际数据就要使用new运算符:
在这里插入图片描述

实例成员

类的声明相当于一个蓝图,想实例化多少个都可以,每个实例都是独立的个体,有自己的一组成员,这些成员是实例成员;但也可以声明与类相关而不是与实例相关的静态成员。

访问修饰符

从类的内部,任何函数成员都可以使用成员的名称访问类中的任意其他成员。访问修饰符是成员声明的可选部分,指明成员的访问权限:
在这里插入图片描述

私有访问与公有访问

私有访问是默认的访问权限级别,使用不使用private都是私有访问,也就是只有类内可以访问。
公有访问比私有访问权限更高,可以在类外访问,访问方式为:类变量名.成员名
在这里插入图片描述在这里插入图片描述
常见示例如下:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

ThingsBoard 前端项目内置部件开发

ThingsBoard 是目前 Github 上最流行的开源物联网平台(12.8k Star),可以实现物联网项目的快速开发、管理和扩展,是中小微企业物联网平台的不二之选。 本文介绍如何在 ThingsBoard 前端项目中开发内置的菜单导航部件。 内置相关部…

clickhouse简介

文章目录 1:简介1.1:CH是什么?1.2:CH优势1.3:架构设计 2:CH接口3:CH引擎1:数据库引擎3.1.1:mysql引擎 2:表引擎3.2.1:MergeTree3.2.2:集成引擎1&a…

电子合同签署协议开源版系统开发

电子合同签署协议开源版系统开发 H5TP6mysqlphp 源码开源不加密 以下是电子合同系统可能包含的功能列表: 用户注册和登录:用户可以注册并登录系统,以便创建、签署和管理合同。合同创建:用户可以创建新合同,包括填写合…

Web的基本漏洞--SQL注入漏洞

目录 一、SQL注入介绍 1.SQL注入漏洞原理 2.SQL注入漏洞的类型 3.SQL注入漏洞识别 4.攻击方式 5.SQL盲注 时间盲注 布尔盲注 报错盲注 6.SQL注入漏洞的危害 7.SQL注入漏洞的防范措施 8.SQL注入漏洞的绕过 一、SQL注入介绍 1.SQL注入漏洞原理 Web程序输入的数据传…

使用git rebase合并多次commit

目录 rebase的作用简要概括为:命令:解决冲突:遗留问题: rebase的作用简要概括为: 可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简…

docker安装php

在安装 php 之前,我们可以先查看一下我们的镜像: docker images 我这里是已经存在 php 镜像了,版本就是 TAG 显示的 8.1.16 如果没有镜像,则执行下面的命令,拉取 php 镜像: docker pull php:latest 请注…

MAYLAND HOME官网上线 | LTD家居家装行业案例分享

​一、公司介绍 在MAYLAND HOME,我们为我们对质量和服务的承诺感到自豪。我们相信我们的成功与客户的满意度直接相关,这就是为什么我们努力超越您的期望,我们承担的每一个项目。无论您是想升级您的家庭还是企业,我们都会在这里帮助…

SpringBoot3 CORS跨域访问

目录 Credentials 问题一 问题二 解决方法一 CrossOrigin,最优的方法 解决方法二 通过Filter 设置HTTP 解决方法三 通过实现WebMvcConfigurer设置HTTP HTTP 协议,需要认真的学习每个细节。 allowCredentials(true) 和 allowed-origins: "*&qu…

MySQL--万文长字探究隔离性实现原理

1 隔离性简介 事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)四个特性,简称 ACID,缺一不可。这篇文章旨在讲清楚…

吐血整理 二叉树(链表实现)的基本操作详解!

文章目录 节点设置二叉树的深度优先遍历前序遍历中序遍历后序遍历 二叉树的广度优先遍历层序遍历 节点的个数叶子节点的个数第K层节点的个数值为X的节点树的最大深度翻转二叉树判断两颗二叉树是否相同判断二叉树是否是完全二叉树判断二叉树是否是单值二叉树判断二叉树是否是平衡…

有哪些好用的pdf修改器?思路提供

PDF格式的文档在现代生活中扮演着越来越重要的角色。但是,要编辑或修改PDF文件是一件非常困难的事情,因为PDF文件的格式和内容通常被锁定。为了解决这个问题,出现了PDF修改器这种工具,它可以帮助用户轻松地编辑和修改PDF文件。本文…

RDK X3 Module发布,全新软硬件平台加速实现量产级产品落地

机器人开发是一段美妙的旅程。GEEKROS创始人杨状状是地平线社区的一名开发者,热衷于鼓捣各类机器人,2022年,状状第一时间就拿到了地平线旭日X3派(简称旭日X3派),基于TogetheROS™.Bot机器人操作系统&#x…

Win11集成 ChatGPT,任务栏取消分组真的回来了

时隔两月微软如期发布了 Win11 Moments 3 更新,版本号 22621.1778 。 微软这次更新带来了许多质量更新和功能改进。 直观的改动是任务栏,网络图标在连接加密隧道时会上锁,时间显示到秒也重新回归。 日常会用到的 AltTab 任务选项卡被限制到最…

04_Cenos安装Docker

docker安装文档: ubuntu:https://docs.docker.com/engine/install/ubuntu/ centos:https://docs.docker.com/engine/install/centos/ debian:https://docs.docker.com/engine/install/debian/ cenos安装Docker前提: 必…

深入理解Linux虚拟内存管理(二)

系列文章目录 Linux 内核设计与实现 深入理解 Linux 内核(一) 深入理解 Linux 内核(二) Linux 设备驱动程序(一) Linux 设备驱动程序(二) Linux 设备驱动程序(三&#xf…

生态系统NPP及碳源、碳汇模拟、土地利用变化、未来气候变化、空间动态模拟实践技术

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现,“双碳”行动特别是碳中和已经在世界范围形成广泛影响。碳中和可以从碳排放(碳源)和碳固定(碳汇)这两个侧面来理解。陆地生态系统在全球碳循环过程中有着重要作…

加盐加密算法

文章目录 为什么需要加密?加盐加密MD5盐值加密Spring Security加盐 为什么需要加密? 从下面的图片中,可以看到用户的密码在数据库中存储时,如果不对密码加密,则是以明文的方式存储的,如果被别人获取到数据…

Mobx和Mobx-react:集中式状态管理

一、Mobx (1) Mobx是一个功能强大,上手非常容易的状态管理工具。 (2) Mobx背后的哲学很简单: 任何源自应用状态的东西都应该自动地获得。只获取与自己相关的数据,不获取无关数据(redux则相反) (3) Mobx利用getter和setter来收集组…

科技兴警,优云「公安一体化安全运维解决方案」亮相2023警博会

日前,第十一届中国国际警用装备博览会(警博会)在北京首钢会展中心成功举办,600余家企业参展,集中展示国内外前沿警用装备及尖端技术,大力推进警用装备现代化。 国内领先的平台级数字化运维软件服务商广通优…

TDengine集群搭建

我这里用三台服务器搭建集群 1、如果搭建集群的物理节点上之前安装过TDengine先卸载清空,直接执行以下4条命令 rmtaos rm -rf /var/lib/taos rm -rf /var/log/taos rm -rf /etc/taos2、确保集群中所有主机开放端口 6030-6043/tcp,6060/tcp,…