C#编程-42:类的复习笔记

简介: C#编程-42:类的复习笔记

1、结构struct


2、枚举enum

固定集合的值,

按照顺序,默认从0开始,可以设定顺序

可以和int类型(int),string类型相互转换(Convert.ToString()或者.ToString())

转换为枚举值:Enum.Parse(typeof(枚举类型), 字符串)

如果字符串是数字,如果枚举类型中没有,也不会抛异常;

如果字符串是文本,如果枚举类型中没有,则会抛出异常。


3、面向过程(主动)

procedure oriented 按照顺序,一步一步执行,按照人处理事情的思维


4、面向对象(被动)

object oriented 将一个项目分解为更小的项目,最后组成整体,多人工作,易扩展,通用代码


5、类与对象

oop:面向对象编程Object Oriented Programming

类不占内存,对象占内存

对象是类的实例化


6、类是一种数据结构

class

(1)数据成员:常量,字段field

(2)函数成员:方法method,属性property,事件,索引器,运算符,实例构造函数,静态构造函数,析构函数

(3)嵌套类型


7、字段

命名规范:_camelCase

字段可以存放多个值,变量只能存放一个值;


8、属性

命名规范:PascalCase

通常用属性访问字段

访问器get:对取值限定

访问器set:对赋值限定

四种状态:

(1)读写

(2)只读get

(3)只写set

(4)自动


9、构造函数

初始化对象

与类名相同

必须是public,没有返回值,不能有void


new关键字

(1)内存中开辟空间

(2)创建对象

(3)对象进行初始化


10、析构函数~

销毁实例

GC,garbage collection


11、面向对象的基本特征

封装,继承,多态


12、类的继承:

子类包含父类的数据结构和行为方式,包括字段、属性,方法和事件

基类(父类),派生类(子类)

父类中的私有字段不能被子类访问

目的:

(1)提高代码重用

(2)提高程序效率

(3)提高可扩展性

规则:

(1)单一继承

(2)传递性

(3)派生类会覆盖同名基类成员,new隐藏基类成员

(4)派生类继承基类成员,不能继承基类构造函数成员,默认调用基类无参构造函数

   (1、父类中写一个无参构造函数,子类中重写构造函数;

   (2、:base()

不希望被继承,可以用密封sealed

(1)抽象类不能作为封闭类使用

(2)防止意外的派生


13、类的封装

被封装的对象:抽象数据类型

意义:防止或保护代码(数据)被无意中破坏

ctrl+J+D快速调整代码格式


14、访问修饰符

(1)public公开的

(2)private类的内部访问,默认修饰符,类的实例也不能访问

(3)protected受保护的,只能在当前类和子类中访问

(4)internal当前项目中访问

(5)protected internal


修饰类的修饰符:internal和public

子类的访问权限不能高于父类的访问权限


15、类的多态

同名方法不一样的实现

(1)虚方法virtual ,需要使用基类实例化

(2)抽象类与抽象方法abstract,不需要使用基类实例化

(3)接口


16、抽象类

(1)抽象方法不能有方法体

(2)抽象类不允许创建实例

相关文章
|
1月前
|
存储 C# 索引
C# 一分钟浅谈:数组与集合类的基本操作
【9月更文挑战第1天】本文详细介绍了C#中数组和集合类的基本操作,包括创建、访问、遍历及常见问题的解决方法。数组适用于固定长度的数据存储,而集合类如`List<T>`则提供了动态扩展的能力。文章通过示例代码展示了如何处理索引越界、数组长度不可变及集合容量不足等问题,并提供了解决方案。掌握这些基础知识可使程序更加高效和清晰。
61 2
|
11天前
|
API C#
C# 一分钟浅谈:文件系统编程
在软件开发中,文件系统操作至关重要。本文将带你快速掌握C#中文件系统编程的基础知识,涵盖基本概念、常见问题及解决方法。文章详细介绍了`System.IO`命名空间下的关键类库,并通过示例代码展示了路径处理、异常处理、并发访问等技巧,还提供了异步API和流压缩等高级技巧,帮助你写出更健壮的代码。
26 2
|
15天前
|
SQL 开发框架 安全
并发集合与任务并行库:C#中的高效编程实践
在现代软件开发中,多核处理器普及使多线程编程成为提升性能的关键。然而,传统同步模型在高并发下易引发死锁等问题。为此,.NET Framework引入了任务并行库(TPL)和并发集合,简化并发编程并增强代码可维护性。并发集合允许多线程安全访问,如`ConcurrentQueue&lt;T&gt;`和`ConcurrentDictionary&lt;TKey, TValue&gt;`,有效避免数据不一致。TPL则通过`Task`类实现异步操作,提高开发效率。正确使用这些工具可显著提升程序性能,但也需注意任务取消和异常处理等常见问题。
27 1
|
24天前
|
安全 程序员 编译器
C#一分钟浅谈:泛型编程基础
在现代软件开发中,泛型编程是一项关键技能,它使开发者能够编写类型安全且可重用的代码。C# 自 2.0 版本起支持泛型编程,本文将从基础概念入手,逐步深入探讨 C# 中的泛型,并通过具体实例帮助理解常见问题及其解决方法。泛型通过类型参数替代具体类型,提高了代码复用性和类型安全性,减少了运行时性能开销。文章详细介绍了如何定义泛型类和方法,并讨论了常见的易错点及解决方案,帮助读者更好地掌握这一技术。
43 11
|
1月前
|
C# 数据安全/隐私保护
C# 一分钟浅谈:类与对象的概念理解
【9月更文挑战第2天】本文从零开始详细介绍了C#中的类与对象概念。类作为一种自定义数据类型,定义了对象的属性和方法;对象则是类的实例,拥有独立的状态。通过具体代码示例,如定义 `Person` 类及其实例化过程,帮助读者更好地理解和应用这两个核心概念。此外,还总结了常见的问题及解决方法,为编写高质量的面向对象程序奠定基础。
17 2
|
16天前
|
安全 数据库连接 API
C#一分钟浅谈:多线程编程入门
在现代软件开发中,多线程编程对于提升程序响应性和执行效率至关重要。本文从基础概念入手,详细探讨了C#中的多线程技术,包括线程创建、管理及常见问题的解决策略,如线程安全、死锁和资源泄露等,并通过具体示例帮助读者理解和应用这些技巧,适合初学者快速掌握C#多线程编程。
49 0
|
2月前
|
C#
C#中的类和继承
C#中的类和继承
37 6
|
2月前
|
存储 C#
揭秘C#.Net编程秘宝:结构体类型Struct,让你的数据结构秒变高效战斗机,编程界的新星就是你!
【8月更文挑战第4天】在C#编程中,结构体(`struct`)是一种整合多种数据类型的复合数据类型。与类不同,结构体是值类型,意味着数据被直接复制而非引用。这使其适合表示小型、固定的数据结构如点坐标。结构体默认私有成员且不可变,除非明确指定。通过`struct`关键字定义,可以包含字段、构造函数及方法。例如,定义一个表示二维点的结构体,并实现计算距离原点的方法。使用时如同普通类型,可通过实例化并调用其成员。设计时推荐保持结构体不可变以避免副作用,并注意装箱拆箱可能导致的性能影响。掌握结构体有助于构建高效的应用程序。
61 7
|
2月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
42 0