C# 图解教程 第5版 —— 第5章 类的基本概念

文章目录

    • 5.1 类的概述
    • 5.2 程序和类:一个简单的示例(*)
    • 5.3 声明类(*)
    • 5.4 类成员(*)
      • 5.4.1 字段(*)
      • 5.4.2 方法
    • 5.5 创建变量和类的实例(*)
    • 5.6 为数据分配内存(*)
    • 5.7 实例成员
    • 5.8 访问修饰符
    • 5.9 从类的内部访问成员
    • 5.10 从类的外部访问成员(*)
    • 5.11 综合应用(*)

5.1 类的概述

​ 类是一种活动的数据结构,包含数据成员和函数成员。

表5.1 类成员的类型
image-20231015154230115

5.2 程序和类:一个简单的示例(*)

5.3 声明类(*)

5.4 类成员(*)

5.4.1 字段(*)

5.4.2 方法

​ 和 C/C++ 不同,C# 没有全局函数,所有方法都必须声明在类的内部。方法也没有默认的返回类型。

5.5 创建变量和类的实例(*)

5.6 为数据分配内存(*)

5.7 实例成员

  • 实例成员:与实例绑定的成员。
  • 静态成员:只与类相关,而不与实例绑定的成员。

5.8 访问修饰符

  • private
  • public
  • protected
  • internal
  • protected internal

5.9 从类的内部访问成员

​ 类的成员仅用其他类成员的名称就可以访问它们。即使字段和两个方法都被声明为 private,类的所有成员还是可以被类的任何方法(或任何函数成员)访问。

class DaysTemp {// 字段private int High = 75;private int Low  = 45;// 方法private int GetHigh() { return High; }private int GetLow()  { return Low; }public float Average() { return (GetHigh() + GetLow()) / 2; } // 访问私有方法
}
image-20231015164510617
图5.1 类内部的成员可以相互自由访问

5.10 从类的外部访问成员(*)

5.11 综合应用(*)

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

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

相关文章

进程的虚拟地址空间

一、 对于C/C程序员,我们看到的程序中的地址,都不是物理地址,而是操作系统映射的虚拟地址/线性地址,每一个进程都映射了同样结构的虚拟地址空间,让进程以为自己在独享内存资源,下图是以Linux下32位操作系统…

SpringMVC源码分析(三)HandlerExceptionResolver启动和异常处理源码分析

问题:异常处理器在SpringMVC中是如何进行初始化以及使用的? Spring MVC提供处理异常的方式主要分为两种: 1、实现HandlerExceptionResolver方式(HandlerExceptionResolver是一个接口,在SpringMVC有一些默认的实现也可以…

STM32Cube高效开发教程<基础篇>(六)----FSMC连接TFT-LCD屏

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。    本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。 一、 FSMC连接…

“第四十二天”

这个,之前用的b去存储a的总和和排名,后来在比较的过程中,只改变的b的值,却没有改变a的值,但在比较语文成绩的时候用的还是a,这个时候a和b同样是第i个对应的可能不是同一个对象了 ,因为上面b的值…

rabbitMq (2)

RabbitMQ 消息应答与发布 文章目录 1. 消息应答1.2 自动应答1.2 手动应答1.3 代码案例 2. RabbitMQ 持久化2.1 队列持久化2.2 消息持久化 3. 不公平分发4. 预取值分发5. 发布确认5.1 发布确认逻辑5.2 开启发布确认的方法5.3 单个确认发布5.4 批量确认发布5.5 异步确认5.5.1 处理…

《动手学深度学习 Pytorch版》 8.7 通过时间反向传播

8.7.1 循环神经网络的梯度分析 本节主要探讨梯度相关问题,因此对模型及其表达式进行了简化,进行如下表示: h t f ( x t , h t − 1 , w h ) o t g ( h t , w o ) \begin{align} h_t&f(x_t,h_{t-1},w_h)\\ o_t&g(h_t,w_o) \end{ali…

在 VSCode 中使用 PlantUML

最近,因为工作需要绘制一些逻辑图,我自己现在使用的是 PlantUML 或者 mermaid,相比之下前者更加强大。不过它的环境也麻烦一些,mermaid 在一些软件上已经内置了。但是 PlantUML 一般需要自己本地安装或者使用远程服务器&#xff0…

git学习——第4节 时光机穿梭

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version control system. Git is free software. 现在&…

Library projects cannot set applicationId. applicationId is set to

Library projects cannot set applicationId. applicationId is set to com.xxx.library_cache in default config. 删掉即可

主流压力测试工具推荐

在产品研发过程中,常常会混淆压力/负载/性能测试这三者之间的区别,这三种测试到底有什么不同呢? 压力测试(StressTesting),也称为强度测试,通过模拟实际应用的软硬件环境及用户使用过程的系统负…

【LeetCode热题100】--75.颜色分类

75.颜色分类 方法一&#xff1a;使用单指针 class Solution {public void sortColors(int[] nums) {int n nums.length;int ptr 0;for(int i 0;i<n;i){if(nums[i] 0){int tmp nums[i];nums[i] nums[ptr];nums[ptr] tmp;ptr;}}for(int i ptr;i<n;i){if(nums[i] …

大数据学习(12)-join优化common join

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博>主哦&#x…