【唐老狮】C#——封装:内部类和分部类

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

    ​    ​目前,我们几乎已经把面向对象封装特性的重要知识点学习完了。今天要讲的内部类和分部类,在实际开发中用的较少,只需了解即可。学习它们的目的是当你遇到了要看得懂。


【内部类】
 

概念

在一个类中再声明一个类

特点

使用时要用包裹者点出自己

作用

亲密关系的表现

注意

访问修饰符作用很大

 

唐老狮C#——封装:成员属性 上篇回顾 构造函数 实例化对象时调用的函数 主要用来初始化成员变量 不写返回值 函数名类名相同 访问修饰符根据需求而定 一般为public 可以重载构造函数 可以用this语法重用代码 可以用this区同名参数成员变量 有参构造会顶掉默认的无参构造 如想保留无参构造需重载出来 析构函数 当类对象被垃圾回收时调用 主要用来回收资源或者特殊处理 Unity中几乎不用 不写返回值 不写修饰符 不能有参数 函数名类名相同 前面加~ 阅读详情

相关推荐

唐老狮C#——继承:构造函数

上篇回顾 里氏替换概念 ​父类对象装子类对象 作用 方便进行对象存储管理 使用 isas is用于判断 父类是不是指定类型的子类 as用于转换 父类类型转换为子类类型对象 当然父子可以相互转换 今天的标题是继承:构造函数,很多同学肯定有疑问,我们在封装时不是已经学习了构造函数吗?继承后的构造函数有什么不同吗?那首先,我们回顾一下在封装中学习的构造函数。 构造函数 实例化对象时调用的函数 主要用来初始化成员变量 不写返回值 函数名类名相同...

MrTang_Unity的博客 3977

C#中定义内部类

类的定义是可以嵌套的,即在类的内部还可以定义其他的类。类内声明的类称为内部类(internal class)或者嵌套类(nested class)。在编译单元或命名空间内声明的类称为顶级类或者非嵌套类型(non-nested class)。比如,下面的List类中定义了一个private类型的内部类Node:public class List{   // private内部类 

zhangjiucheng的专栏 6347

唐老狮C#——封装:静态成员

​​关于面向对象三大特性之封装,我们已经学习了许多知识点:类对象、成员变量访问修饰符、成员方法(函数)、构造函数析构函数、成员属性、索引器。当你看到这些知识点时,如果发现自己已经不清楚或者忘记了,你可以再看看前几篇文章来进行回顾。 ​​今天我们要讲的是一个非常重要的知识点,是面试中经常会问到的内容——静态成员。 【静态成员】 静态关键字 static 静态成员 用static修饰的 成员变量 成员方法 成员属性 等 特点 直接...

MrTang_Unity的博客 965

C#基础:内部类

    内部类是嵌套在类的内部,内部类可以访问类的private,protected成员。     示例代码如下:  public  class ClassA{//外部类         private int state = -1;//私有字段         public int State { get => state; set => state = value; } ...

QQhelphelp的博客 1238

C# 内部类

一:这里介绍C#内部类能够使用外部类定义的类型静态方法,但是不能直接使用外部类的实例方法,直接看来,外部类对于内部类的作用更像是一个命名空间。 C#语言有很多值得学习的地方,这里我们主要介绍C#内部类,包括介绍instance方法private方法等方面。 C#内部类能够使用外部类定义的类型静态方法,但是不能直接使用外部类的实例方法,直接看来,外部类对于内部类的...

dd1235555555的博客 420

C#系列之内部类部类

特点:不能加访问修饰符,默认私有。只能在部类中声明,返回值只能是void,可以有参数但不用out关键字,局限很大,了解即可。部方法无法添加访问修饰符,一旦添加访问修饰符就必须实现,而部方法是开实现,所以不能添加访问修饰符。因为没有访问修饰符,所以不能通过类名点出来使用。作用:部描述一个类,增加程序的拓展性。而部类的使用上普通类没有什么区别。内部类就是类里面的类,默认类为私有。,部类的访问修饰符要一致,部类。概念:在一个类中再声明一个类。概念:把一个类成几部声明。作用:亲密关系的变现。

2303_76354097的博客 544

C#内部类的用法

开发工具与关键技术: 内部类 作者:邓崇富 撰写时间:2019 年 5 月 5 日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 成员内部类: 在一个类中使用内部类,可以在内部类中直接存取其所在类的私有成员变量。 成员内部类的语法如下: public ...

weixin_44548405的博客 2852

唐老狮C#——封装:构造函数析构函数

上篇回顾 成员方法 描述行为 类中声明 任意数量 返回值参数 根据需求决定 今天我们将来学习 两个特殊的 成员函数(方法) 构造函数 析构函数 【构造函数】 默认存在一个无参构造函数 如何自己实现一个构造函数 构造函数一般是用来初始化信息的 构造函数的访问修饰符一般public 如果是private外部就无法new对象了 构造函数可以被重载 不手动实现无参构...

MrTang_Unity的博客 901

唐老狮C#——封装:成员方法

上篇回顾 访问修饰符 决定成员变量的访问权限 public——公共 private——私有 成员变量 在类中声明的变量 描述特征 赋值随意 任意类型 任意数量 今天我们将来学习 对象的行为 成员方法 【成员方法】 ​​通过前几篇文章,我们已经可以用成员变量在类中形容对象的特征了,但是对于对象来说,只有特征是不够的。比如人的特征:姓名,年龄,性别,国籍等等都可以通过成员变量来表示,但是对于人的行为:走路,吃饭,睡觉等等,用成员变量是不能够表...

MrTang_Unity的博客 891

唐老狮C#——封装:静态类静态构造函数

上篇回顾 静态关键字 static 静态成员 用static修饰的 成员变量 成员方法 成员属性 等 特点 直接用类名点出使用 生命周期 同生共死 会一直存在内存中 直到程序结束后才会被释放 因此静态成员具有唯一性 注意 静态函数中不能直接使用非静态成员 非静态函数中可以直接使用静态成员 常量静态变量 常量是特殊的静态变量 相同点 它们都可以通过 类名点出使用 不同点 const必须初始化,不能修改 static没有这个规则

MrTang_Unity的博客 915

唐老狮C#——封装:拓展方法

上篇回顾 静态类 用static修饰的类 只能包含静态成员 不能被实例化 作用 工具类 拓展方法 静态构造函数 静态类普通类都可以有 用static修饰的构造函数 不能使用访问修饰符 不能有参数 自动调用 作用 初始化静态成员 通过上两篇文章,我们已经学习了关于static的关键知识:静态成员、静态类静态构造函数。我们今天要学习一个关于静态的高级知识点,也是之后在Unity中肯定会涉及到的知识点——拓展方法。 【拓展方法】 概念...

MrTang_Unity的博客 647

唐老狮C#——ArrayList

【ArrayList】 本质 object数组 特点 自动调整空间大小 存在装箱拆箱 存储任意类型 ArrayList是一个C#为我们封装好的类,它的本质是一个object类型的数组,ArrayList类帮助我们实现了很多方法,比如数组的增删查改,都提供给了我们对应的方法,方便我们使用,不需要我们自己来实现相关的逻辑。 回顾数组的存储结构 数组的声明必需一开始就声明好具体占多少内存空间,当我们进行增删查改时需要考虑扩容移位相关的复杂操作...

MrTang_Unity的博客 1341

唐老狮C#——封装:类对象

通过上一篇文章,我们已经基本了解了面向对象编程的基本概念:万物皆对象,用程序代码来形容各对象,用面向对象的思想来编写程序。那么今天我们就来看看在程序中如何来形容对象。 【类对象】 【什么是类?】 具有相同特征 具有相同行为 一类事物的抽象 类是对象的模板 可以通过类创建出对象 类的关键词 class 类一般写在namespace语句块中 以上这些我们都称为类 人类 机器类 植物类 现在这些类内部还没有用于具体形...

MrTang_Unity的博客 750

唐老狮C#——多态vob

​​截止目前,我们已经学会了面向对象中封装继承两大特性的相关知识点。简单理解它们,封装就是用代码形容一个现实对象,继承就是复用代码,通过继承可以让类之间建立父子关系,复用一些特征行为。 ​​那么,我们接下来要继续学习最重要的一个特性——多态。 【多态】 概念 同一类型对象 执行相同行为 有不同的表现 为什么要学习多态? ​​根据多态的概念,很多同学可能会写出如上的代码,子类中重新实现一个SpeakName的方法,前面加一...

MrTang_Unity的博客 991

唐老狮C#——封装:索引器

​​还记得我们学过的数组吗?数组可以通过中括号array[0]中括号包裹索引的形式得到指定位置的数组元素。 ​​我们今天要学习的索引器,它的作用就是允许类或结构体的实例按照数组相同的方式进行索引访问。 【索引器】 索引器类似成员属性 使用getset语句块 索引器的固定写法 访问修饰符返回值this[参数] 内部规则属性的getset规则一样 索引器的getset中可以写逻辑 索引器的参数类型可以...

MrTang_Unity的博客 626

唐老狮C#——结构体类的区别

【结构体类的区别】 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结构体成员变量申明不能指定初始值,而类可以 结构体不能申明无参的构造函数,而类可以 结构体申明有参构造函数后,无参构造不会被顶掉 结构体不能申明析构函数,而类可以 结构体不能被继承,而类可以 结构体需要在构造函数中初始化所有成员变量,而类随意 结构体不能被静态static修饰(

MrTang_Unity的博客 884

唐老狮C#——封装:运算符重载

​​目前我们学过的变量中,除了几种自定义的变量(结构体、类、枚举),语言本身的13种常用变量类型byte、int、float等等都默认支持用运算符进行计算,也支持条件运算符进行比较。今天我们要学习的内容就是如何让自定义的类型能够使用运算符进行运算比较! 【运算符重载】 概念 让自定义类结构体 能够使用运算符 关键字 operator 固定语法 public static返回值operator运算符(参数列表) 特点 一定是一个公共的静态方法 返回值...

MrTang_Unity的博客 476

唐老狮C#——函数

【函数】 【函数是什么】 ​​其实我们学习到现在,我们写的大部代码都是写在函数中的。Main就是一个静态函数。函数就是包裹了代码的特殊语句块(大括号包裹的代码称为语句块或代码块),它可以被复用,提升代码的复用率,封装代码,抽象行为。(函数也可称为方法) 【函数写在哪里】 被struct或class(面向对象时学习) 包裹 【语法】 中文描述的部可以变化 【新关键字——void】 代表函数没有返回值 【新关键字——return...

MrTang_Unity的博客 787

唐老狮C#——继承:基本规则

​​通过之前的文章,我们已经把封装相关知识点全部学习完毕了,我们已经可以游刃有余的用面向对象的思想用程序去形容一个现实事物了。 ​​今天我们正式开始学习继承相关的知识点,它可以帮助我们节约代码量,理清对象之间的关系。 【继承】 概念 一个类A继承一个类B 类A将会继承类B的所有成员 A类将拥有B类的所有特征行为 被继承的类 称为父类、基类、超类 继承的类 称为子类、派生类 子类 可以有自己的特征行为 比如 ...

MrTang_Unity的博客 840
上一篇: 【唐老狮】C#——封装:运算符重载
下一篇: 【唐老狮】C#——继承:基本规则
一唐老狮一
博客等级 码龄5年 505粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值