.net十问

本文介绍了C#中的变量类型,包括值类型和引用类型,以及Class和Struct的区别。讨论了C#中的类修饰符和成员修饰符,如public、private等。此外,阐述了面向对象的三大特征:封装、继承和多态,对比了面向对象与面向过程的区别。同时,解释了装箱、拆箱的概念,并探讨了IOC(控制反转)和DI(依赖注入)在降低耦合度方面的作用。最后,提到了AOP(面向切面编程)用于解耦合代码的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一问:C#中变量类型分为哪两种?

	值类型和引用类型,值类型变量自身存储数据,引用类型存储的势实际数据的引用,通过引用找到实际的数据。

第二问:Class和Struct的区别?

	Class为引用类型,可以被实例化,存储实际的引用;Struct为值类型,值类型自身存储数据数据。

第三问:C#中类的修饰符和类成员的修饰符有哪些?

	C#中可以修饰类的修饰符为:public、internal、sealed、abstract

	C#中不能修饰类的修饰符为:private和protected

	C#中成员的修饰符为:public、internal、protected、private

	public:完全公开,没有访问限制。

	internal:可以应用于当前应用程序以及类库。

	protected:在当前类和子类中可以使用。

	private:只有在当前类中可以使用。

	sealed:密封类,不能被其他类型继承。

	abstract:抽象类,不能创建实例。

第四问:面向对象的三个特征(特点)是什么?

	封装:把对象的属性或者行为邓庄起来,类似于一个类。
	继承:子类可以继承父类。
	多态:父类可以应用于子类,子类可以去使用父类的一些特征方法。

第五问:面向对象和面向过程的区别?

	面向对象:把问题分解成多个对象,强调的是解决问题行为标准(方式)
	面向过程:分析问题并解决问题的步骤,强调的势解决问题的步骤。

第六问:什么是装箱和拆箱?

	装箱:从值类型转换到引用类型。

	拆箱:从引用类型到值类型的转换。

第七问:什么事IOC?

	控制反转,是一种思想(设计模式)而不是一种技术实现。
	控制:拥有创建对象的权利。
	反转:把控制权交给IOC容器。
	优点:	1、对象之间的耦合度或依赖度降低。
				2、资源容易管理
	传统模式下:在一个类中需要new关键字去实例化另一个类。
	IOC设计模式:不需要new去创建对象,直接从IOC容器中获取。

第八问:什么事OOP?
面向对象编程
提取共有的属性和方法,形成一个父类。

第九问:什么事AOP?

	面向切面的编程,在不改变原有的业务逻辑情况下,横切逻辑代码,解耦合代码,避免横切代码重复。
	切:指的是横向逻辑,就是保证原有的业务逻辑代码不变,操作横切逻辑代码,所以就是面相横切编程。
	面:横切代码影响的是很多方法,每个方法如同一个点,很多点就形成面。
	应用场景:事务控制,权限效验、日志信息等。
	多个方法的相同位置出现重复代码。

第十问:什么事DI?

	依赖注入
	DI是IOC设计思想的实现方式
	一个类去引用另外一个类,就会产生依赖。
	优点:如果添加另一个类,不需要修改之前代码,只要修改注入的地方将实现类进行替换。
	实例化接口的时候,不用手动new来狗仔实现类,交给IOC容器进行构建。
	实现了解耦
	DIP:依赖注入倒置原则:依赖于抽象,不依赖预聚体,高层模块不依赖于低层模块,它们依赖于抽象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值