当前位置: 首页 > news >正文

C# 类的基本概念(实例成员)

本章内容:
类的概述
程序和类:一个简单的示例
声明类
类成员
创建变量和类的实例
为数据分配内存
实例成员
访问修饰符
从类的内部访问成员
从类的外部访问成员
综合应用

实例成员

类声明相当于蓝图,通过这个蓝图想创建多少个类的实例都可以。
实例成员 类的每个实例都是不同的实体,它们有自己的一组数据成员,不同于同一类
的其他实例。因为这些数据成员都和类的实例相关,所以被称为实例成员。
静态成员 实例成员是默认类型,但也可以声明与类而不是实例相关的成员,称为静态
成员,将在第7章阐述。

下面的代码是实例成员的示例,展示了有3个P1ayer类实例的扑克牌程序。图5-4表明每个
实例的Name字段都有不同的值。

class Dealer{...}    //声明类
class Player
{string Name;      //字段
}class Program
{static void Main(){Dealer theDealer=new Dealer();Player player1=new Player();Player player2=new Player();Player player3=new Player();...}
}

实例成员在类对象之间的值是不同的

访问修饰符

从类的内部,任何函数成员都可以使用成员的名称访问类中任意的其他成员。
访问修饰符是成员声明的可选部分,指明程序的其他部分如何访问成员。访问修饰符放在简
单声明形式之前。下面是字段和方法声明的语法:

image
5种成员访问控制如下。本章将阐述前两种,其他的将在第8章阐述。
私有的(private);
公有的(public);
受保护的(protected);
内部的(internal);
受保护内部的(protected internal)。

私有访问和公有访问
私有成员只能从声明它的类的内部访问,其他的类看不见或无法访问它们。
私有访问是默认的访问级别,所以,如果一个成员在声明时不带访问修饰符,那它就是
私有成员。
还可以使用private访问修饰符显式地将一个成员声明为私有。隐式地声明私有成员和显
式地声明在语义上没有不同,两种形式是等价的。
例如,下面的两个声明都指定了private int成员:

image
实例的公有成员可以被程序中的其他对象访问。必须使用public访问修饰符指定公有访问。

image

公有访问和私有访问图示

本文中的插图把类表示为标签框,如图5-5所示。
类成员为类框中的小标签框。
私有成员完全封闭在它们的类框中。
公有成员有一部分伸出它们的类框之外。

image

成员访问示例

类C1声明了公有和私有的字段和方法,图5-6阐明了类C1的成员的可见性。

class C1
{int      F1;  //隐式私有字段private int F2;//显式私有字段public int F3;//公有字段void DoCalc()  //隐式私有方法{...}public int GetVal() //公有方法{...}
}

类的私有成员和公有成员

http://www.xdnf.cn/news/216775.html

相关文章:

  • 【2024-NIPS-版权】Evaluating Copyright Takedown Methods for Language Models
  • 《云原生》核心内容梳理和分阶段学习计划
  • Alibaba第四版JDK源码学习笔记2025首次开源
  • HCIP【VLAN技术(详解)】
  • Java高频面试之并发编程-11
  • 第三部分:赋予网页灵魂 —— JavaScript(下)
  • Spring Boot - 配置管理与自动化配置进阶
  • 【Bash】可以请您解释性地说明一下“2>1”这个语法吗?
  • Windows 系统下使用 Docker 搭建Redis 集群(6 节点,带密码)
  • C++日更八股--first
  • SpringBoot应用:Docker与Kubernetes全栈实战秘籍
  • git fetch和git pull的区别
  • 域对齐是什么
  • 判断用户选择的Excel单元格区域是否跨页?
  • 力扣hot100——239.滑动窗口最大值
  • 在大数据环境下,使用spingboot为Android APP推送数据方案
  • 【Machine Learning Q and AI 读书笔记】- 02 自监督学习
  • 主流微前端框架比较
  • java面试题目
  • Nacos源码—2.Nacos服务注册发现分析四
  • 三种机器学习类型
  • Glide 如何加载远程 Base64 图片
  • MobileNetV2: 反向残差和线性瓶颈
  • 应急演练考试排查-DC01
  • 【动态导通电阻】GaN功率器件中动态导通电阻退化的机制、表征及建模方法
  • AI 的未来是开源?DeepSeek 正在书写新篇章!
  • 算法基础学习|02归并排序——分治
  • 封装js方法 构建树结构和扁平化树结构
  • 20_大模型微调和训练之-基于LLamaFactory+LoRA微调LLama3后格式合并
  • 水力压裂多裂缝扩展诱发光纤应变演化试验研究