3-C#面向对象概念
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了3-C#面向对象概念,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3189字,纯文字阅读大概需要5分钟。
内容图文
![3-C#面向对象概念](/upload/InfoBanner/zyjiaocheng/853/2aa6e9d8c57a4661b54a91833b887490.jpg)
## 回顾
前两篇博文带大家快速的感知一下使用C#编写程序是怎样的过程,能实现什么样的功能。同时也提到了面向对象的概念。本篇文章就是更加详细的去将面向对象编程中常见的概念进行示例说明,以帮助大家更好的理解这种编程模式。
## 理解面向对象
讲概念的话,最好的方式还是去查看官方的文档,大概目录如下:
[基本概念](https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/object-oriented-programming)
)
- 类和对象
- 类成员
- 属性和字段
- 方法
- 构造函数
- 嵌套类
- 访问修饰符和访问级别
- 实例化类
- 静态类和成员
- 匿名类型
- 继承
- 重写成员
- 接口
- 泛型
- 委托
讲概念是我一直不喜欢做的事情,因为概念是总结出来的,是通过大量实践总结出来的。我们应该是先积累经验,然后总结出概念,这样才能更好的去理解。单纯只讲概念,抽象又无法理解,是没什么效果的。
所以,我还是通过实际的示例带大家理解一下相关的概念。建议大家最好观看本篇博客关联的视频。而博客内容就不把这些概念一一"复制"过来了,因为所有的讲解都是基于语言层面上来说明的,对我们理解这些概念并没有什么大的帮助。
### 继承
就像我们自然界当中分类一样。继承就是一层一层的抽象,从整体到个体的表示。把相同的属性行为抽象出来作为父类,一层一层的直到个体。
动物->猫->橘猫
[![猫](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1514051372278&di=dfc0845fe5b7ca275cdcd7fbfc058770&imgtype=0&src=http%3A%2F%2Fupload.mnw.cn%2F2017%2F0223%2F1487813249649.jpg "猫")](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1514051372278&di=dfc0845fe5b7ca275cdcd7fbfc058770&imgtype=0&src=http%3A%2F%2Fupload.mnw.cn%2F2017%2F0223%2F1487813249649.jpg "猫")
代码示例:
定义动物类:
```csharp
///
/// 动物类
///
class Animal
{
public string Name { get; set; }
public Animal()
{
}
public Animal(string name)
{
Name = name;
}
public virtual void Eat(string sth = "食物")
{
Console.WriteLine($"{Name}吃{sth}");
}
}
```
在定义猫类,继承动物
```csharp
class Cat : Animal
{
public string Eye { get; set; }
public Cat()
{
Name = "猫";
}
public void Sleep()
{
Console.WriteLine($"{Name}在睡觉");
}
///
/// 改写父类的Eat方法
///
///
public override void Eat(string sth="食物")
{
if (sth== "甜食")
{
Console.WriteLine($"喵星不吃甜食");
}
else
{
base.Eat(sth);
}
}
}
```
### 接口
接口,我们可以理解为定义标准或规范。
比如我们有两个接口,分别是国内规范和国际规范,国内规范中定义一个方法叫`VisitChinaInternet()`,国际规范定义一个方法叫`VisitInternet()`;
那我们可以定义一个类叫ChinaCitizen,那么这个类继承国内规范。就必需要实现`VisitChinaInter()`方法。这样就可以使所有的ChinaCitizen通过这个方法去访问互联网,经过防火墙。
代码示例:
定义接口:
```csharp
interface IChina
{
///
/// 访问国内互联网
///
void VisitChinaInternet();
}
interface IWorld
{
///
/// 访问互联网
///
void VisitInternet();
}
```
实现接口的类:
```csharp
///
/// 国内公民
///
public class ChinaCitizen : IChina
{
public void VisitChinaInternet()
{
Console.WriteLine("访问国内互联网,无法访问google!");
}
public void VisitInternet()
{
Console.WriteLine("访问国际互联网");
}
}
```
```csharp
///
/// 世界公民
///
class EarthCitizen : IWorld
{
public void VisitInternet()
{
Console.WriteLine("访问国际互联网");
}
}
```
**特别提示:**
>我们通过现实中的事物去理解编程中抽象的概念,还是需要大家自我实践,亲身去体会。概念不是不重要,而是一个先后顺序的问题。**只实践不总结是无法成体系的,难以进步**。所以大家看了视频之后,再去看文档,这两者缺一不可。先实践再看概念会有更好理解。
内容总结
以上是互联网集市为您收集整理的3-C#面向对象概念全部内容,希望文章能够帮你解决3-C#面向对象概念所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】