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

2023-09-15 17:20:28

前言

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

什么是面向对象

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

类,名称空间的介绍

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

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

如何导入类库

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

DLL引用(黑盒引用)

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

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

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

项目引用(白盒引用)

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

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

NuGet介绍

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

依赖关系

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

C#的分装(个人理解)

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

更多推荐

电力和水利工程行业浪涌保护器的选型方案

电力和水利工程行业是国民经济的重要支柱,其设备和系统的安全稳定运行对社会和人民生活有着重要意义。然而,这些行业也面临着雷电等自然灾害的威胁,雷电过电压会造成电力设备的损坏、故障、停运甚至火灾爆炸等严重后果。因此,采用合适的浪涌保护器(SPD)是防止雷电危害的有效措施之一。地凯科技浪涌保护器是一种能够在瞬间将雷电过电压泄

@RequestMapping 注解以及其它使用方式

😀前言本篇主要讲解@RequestMapping注解以及其它使用方式🏠个人主页:尘觉主页🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉在csdn获奖荣誉:🏆csdn城市之星2名⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣💓Java全栈群星计划top前5

JVM基础-Hotspot VM相关知识学习

这里写目录标题jdkJVM虚拟机类类的生命周期类加载的时机类的双亲委派机制类的验证java对象MarkWordKlassPointer实例数据对齐数据字符串常量池垃圾收集器1.Serial收集器(串行收集器)cms垃圾算法G1垃圾收集器与CMS收集器相比,G1收集器的优势:G1收集器的实现原理:JVM参考文章:JVM之

30.链表练习题(1)(王道2023数据结构2.3.7节1-8题)

【前面使用的所有链表的定义在第29节】试题1:设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。首先来看非递归算法,暴力遍历:intDel(LinkList&L,ElemTypex){//此函数实现删除链表中为x的元素LNode*p,*q;p=L;//p指向头结点q=L->next;//q指向首元结点whi

AI时代带来的图片造假危机,该如何解决

一、前言当今,图片造假问题非常泛滥,已经成为现代社会中一个严峻的问题。随着AI技术不断的发展,人们可以轻松地通过图像编辑和AI智能生成来篡改和伪造图片,使其看起来真实而难以辨别,之前就看到过一对硕士夫妻为了骗保竟篡改结婚证、离婚证等信息:甚至诺贝尔奖获奖者发表的论文中也疑似进行了图像篡改的行为:这给社会带来了许多负面影

Python案例分析|使用Python图像处理库Pillow处理图像文件

本案例通过使用Python图像处理库Pillow,帮助大家进一步了解Python的基本概念:模块、对象、方法和函数的使用使用Python语言解决实际问题时,往往需要使用由第三方开发的开源Python软件库。本案例使用图像处理库Pillow中的模块、对象来处理图像:实现读取图像、获取图像信息、调整图像大小、旋转图像、平滑

CPU密集型和IO密集型任务的权衡:如何找到最佳平衡点

关于作者:CSDN内容合伙人、技术专家,从零开始做日活千万级APP。专注于分享各领域原创系列文章,擅长java后端、移动开发、人工智能等,希望大家多多支持。目录一、导读二、概览三、CPU密集型与IO密集型3.1、CPU密集型3.2、I/O密集型四、如何区分IO密集型、CPU密集型任务五、推荐阅读一、导读我们继续总结学习

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 17 日论文合集)

文章目录一、检测相关(5篇)1.1TALL:ThumbnailLayoutforDeepfakeVideoDetection1.2CloudDetectioninMultispectralSatelliteImagesUsingSupportVectorMachinesWithQuantumKernels1.3Mult

Docker 容器生命周期:创建、启动、暂停与停止----从创建到停止多角度分析

🌷🍁博主libin9iOak带您GotoNewWorld.✨🍁🦄个人主页——libin9iOak的博客🎐🐳《面试题大全》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐🪁🍁希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!

Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

目录ChatGPT是什么初学者怎么使用ChatGPT使用ChatGPT需要注意什么一些简单的prompt示例ChatGPT是什么ChatGPT是由OpenAI开发的一种大型语言模型,它基于GPT(GenerativePre-trainedTransformer)架构。GPT是一种基于深度学习的预训练模型,通过在大规模文

谈谈VPN是什么、类型、使用场景、工作原理

作者:Insist--个人主页:insist--个人主页作者会持续更新网络知识和python基础知识,期待你的关注前言本文将讲解VPN是什么、以及它的类型、使用场景、工作原理。目录一、VPN是什么?二、VPN的类型1、站点对站点VPN2、客户端对站点VPN三、VPN的使用场景1、公共Wi-Fi网络2、绕过地理限制3、加

热文推荐