当前位置:网站首页>C# 一周入门之《C#-类和对象》Day Six
C# 一周入门之《C#-类和对象》Day Six
2022-07-30 02:58:00 【太阳风暴】
导言:在这里再过一遍类和对象的知识,
一、类和对象
1. 类是什么?
类是为了描述现实世界里面的对象所用的一种语法表示,是一种人类思维的抽象。
2. 对象是什么?
这里的对象主要是指用计算机语言来描述现实中的事物。是将会被实例化的对象。
3. 类与对象的关系
一个现实的对象必然在我们人类的分类下,有很多属性,比如就拿人来说,一个人有很多属性,有年龄、姓名、性别等等,在c#里面就可以用类、结构体、等语法来描述表示一个人的信息,但是人不仅仅有属性,还有行为,比如说能够唱歌,能够跳舞等。结构体显然描述行为是不方便的,结构体主要是存数据的,刚好类就具有用函数来描述对象行为的功能,因此类就是描述对象的最佳实践。
二、C#类语法
1. 类的语法
类语法 使用 class 关键字 和 语句块来描述,声明一个类如下实例
public clsss Person
{
string Name;
int Age;
bool Sex;
public void Dance()
{
//跳舞
Console.WriteLine("I Can Dance!");
}
public void Sing()
{
//唱歌
Console.WriteLine("I Can Sing!");
}
}
如何使用一个类去生成一个对象呐?
使用 new 关键字即可
Person zhangShan = new Person();
zhangShan.Dance();
//zhangShan这个对象刚刚就跳了一个舞蹈
- 没有默认构造函数 会自动生成构造函数
- 访问对象使用的是 “.” 符号访问的
2. 类的访问权限
类的默认访问标识符是 internal,成员的默认访问标识符是 private。这些符号掌管着类、类成员访问符
一般类的访问我一般写的是 public
我们简单讨论一下 类成员的访问 标识符
- public:实例化对象能访问到
- private:实例化对象不能访问到
public clsss Person
{
public string Name = "张珊";
public int Age;
private bool Sex;
public Person()
{
}
public void Dance()
{
//跳
Console.WriteLine("I Can Dance!");
}
public void Sing()
{
//唱
Console.WriteLine("I Can Sing!");
}
private void Rap()
{
//Rap
Console.WriteLine("I Can Rap!");
}
}
我们在使用时,知道下面这些情况就了解啥意思了
Person zhangShan = new Person();
//正确
zhangShan.Dance();
zhangShan.Sing();
var name = zhangShan.Name;
var age = zhangShan.Age;
//错误-不能访问
zhangShan.Rap();
zhangShan.Sex();
3. 特殊函数
1、构造函数
类的 构造函数 是类的一个特殊的成员函数,当创建类的新对象时执行。也就是只执行一次
构造函数的名称与类的名称完全相同,它没有任何返回类型。
public clsss Person
{
//............
public Person(/*可跟参数*/)
{
//...........
//初始化某些值,
}
}
2、析构函数
类的 析构函数 是类的一个特殊的成员函数,当类的对象超出范围时执行。也即是自动调用我们不要、也不许手动调用
析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数。
析构函数用于在结束程序(比如关闭文件、释放内存等)之前释放资源,
```csharp
public clsss Person
{
//............
public Person(/*可跟参数*/) //构造函数
{
//...........
//初始化某些值,
}
~Person(/*不可跟参数*/) //析构函数
{
//...........
//初始化某些值,
}
}
边栏推荐
- 力扣(LeetCode)210. 课程表 II(2022.07.29)
- 戴尔首款纯软产品,再定义下一代对象存储
- Not enough information to list load addresses in the image map.(STM32编译报错)
- 新手入门上位机开发 C#语言:PC串口发送数据
- 共享内存-内存映射-共享文件对象
- Hacker News Broadcast | A fake offer steals $625 million
- 票房破7.9亿美元,最近这部恐龙爽片你看了吗?
- 还在用命令行看日志?快用Kibana吧,可视化日志分析YYDS
- 测试人员,除了测试还得会点什么
- 新手入门C#:实现简易的计算器功能
猜你喜欢
随机推荐
Leetcode.234 判断回文链表(双指针/快慢指针)
B. Inflation-Educational Codeforces Round 103 (Rated for Div. 2)
华宝新能通过注册:拟募资近7亿 营收增加利润反而下降
群论-Burnside引理与Polya定理 三千字
使用SqlSessionFactory工具类抽取
【机器学习】通俗易懂决策树(原理篇)
HCIP 第十四天
Nuxt3学习
leetcode每天5题-Day01
一本通1922——乒乓球
nrm ls 为什么前面不带 *了
selenium应用之拉勾简历邀约数据抓取与分析
WebSocket在线通信
信息系统项目管理师核心考点(五十四)配置项分类、状态与版本
躲避雪糕刺客?通过爬虫爬取雪糕价格
菜刀、冰蝎、蚁剑、哥斯拉的流量特征
JS history.back() go(-1) Location 跳转 重新加载页面 get请求 返回顶部 bom
JUC(五):共享带来的问题
The box office broke 790 million US dollars. Have you watched this recent dinosaur movie?
Not enough information to list load addresses in the image map. (STM32 compilation error)








