• C#复习:面向对象基本概念


    前言

    关于我C#的博客是根据刘铁猛老师的C#入门课程为基础写的,可以配合刘铁猛老师的课程一起观看,会由更好的理解!

    什么是面向对象

    所谓面向对象,在我看来,就是把世界上的很多事物抽象成数据,方法等,举个例子
    在这里插入图片描述
    这是个汽车,这个汽车有发动机,变速器…
    在面向对象的程序中,我们是这样描述这个汽车的
    在这里插入图片描述
    我们将发动机定义成了一个整形的字段,同时车还有一个速度,一个起火的方法,这就相当于设计图,当我在主函数内通过Car这个类声明一个对象时,操作系统会为其开辟一块内存空间,就相当于我对照这个设计图将汽车设计出来了,并且我可以对它进行一系列操作。
    在这里插入图片描述

    类,名称空间的介绍

    是一种数据结构,是面向对象程序设计的基础,也是重点,所谓类就是各种数据,方法,事件…进行分装,同时,类也可以继承,多态也是基于类中的方法,若要使用某个类的话,要么使用权限访问法,要么在开头引用名称空间,直接进行访问。
    在这里插入图片描述

    在VS编译器中,类的提示是水蓝色的。
    名称空间可以认为是类的集合,是对类进行的树型结构的管理,类似与图书馆
    在这里插入图片描述
    其中的每一本书都是一个被定义的类,可以通过命名空间对所有的类进行管理和访问。同时,名称空间还有一个很重要的功能,就是防止类名重复导致访问冲突,归属于不同名称空间的类,即使类名冲突,也可以分别对其进行访问。

    如何导入类库

    首先要讲讲什么是类库,所谓类库就加粗样式是各种名称空间的集合,相当于对名称空间再次进行分装我们在使用某个类的时候,就要引用它所在的类库(类似与C语言的包含头文件)VS可以引用自带的类库,同时使用者也可以自己定义类库并引用。

    DLL引用(黑盒引用)

    DLL引用被称为黑盒引用的原因,是因为我们无法知道项目中某功能的具体实现,也无法修改内容,我们只能使用。

    对于微软编辑好的类库,我们可以这样引用
    在这里插入图片描述
    点击之后程序集下就是微软编译的类库,同时我们也可以进行搜索,找到类库后单机类库名,左侧打勾,并且确认。
    在这里插入图片描述
    在这里插入图片描述
    其他被引用的类库是一些常用功能,系统自动引入了。
    自定义的类库如何引用呢?
    在这里插入图片描述
    在这里插入图片描述

    创建好类库后,写一个类,对类库进行运行会生成.dll文件,在自己的项目中引用,下面我来展示如何引用。
    在这里插入图片描述
    引用成功后,就可以使用该类库了。

    项目引用(白盒引用)

    所谓白盒引用,就是我们有项目的源代码,可以对其进行修改

    首先创建类库(.NET Framework),写好内容后,引用
    在这里插入图片描述
    就可以使用该类库的内容了。

    NuGet介绍

    许多类库是有关联的,如果想使用某个类库中的内容,往往需要引用其他类库,为了减少我们的操作了,方便使用,NuGet程序包就出现了,程序包将一些关联的类库在进行分装,只要下载,添加后能直接使用了。

    依赖关系

    在我们进行程序设计的时候,往往希望我们的代码是高内聚,低耦合的,所谓高内聚就是单一的功能只由单一的方法实现,一个方法最好只实现一个功能,所谓低耦合,就是在项目中不要太依赖与某一个类,方法等,只要被依赖的类和方法出问题了,整个项目都会出问题,我们也可以通过很多方式解耦和,如接口等

    C#的分装(个人理解)

    面向对象的基础是类,类是方法,数据的分装,名称空间则是对类进行的树形管理,防止重复的类名访问冲突,类库对名称空间进行分装,便于更好的管理,程序包又对类库进行了分装,将相关联的类库分装在一个程序包中,便于开发者使用。
    在这里插入图片描述

  • 相关阅读:
    爬取头像的程序不好用了?那就再重新做一份咯
    瞬态抑制二极管TVS的工作原理?|深圳比创达电子EMC(上)
    redis宕机导致数据丢失的重大生产事故总结
    S32K1xx 微控制器的硬件设计指南
    论文研读:ViT-V-Net—用于无监督3D医学图像配准的Vision Transformer
    docker概述
    Servlet系列:(HttpServletRequest、HttpServletResponse、ServletContext、ServletConfig)详解
    从功能测试到自动化测试,待遇翻倍,我整理的超全学习指南!
    制造企业使用APS计划排产需要的条件
    用vite搭建一个vue3 + ts项目
  • 原文地址:https://blog.csdn.net/reyas/article/details/132908316