.NET/C#面试题汇总系列:面向对象

类class和结构struct的区别

● 类是引用类型,结构是值类型
● 类可以继承,也可以实现接口;结构不能继承,但可以实现接口
● 类可以有显式声明的无参数构造函数;结构不能包含显式的无参数构造函数
● 结构中不能有实例字段初始值设定,但类没有任何限制
● 类的构造函数里面可以不用对所有字段进行初始化;结构的构造函数里面必须对所有字段进行初始化
● 类可以有析构函数,但结构不行

面向对象的三大特征是什么?

封装,继承,多态;

面向过程和面向对象的区别

面向过程和面向对象都是解决问题的逻辑方法,分析问题既可以用面向对象的方法来思考,也可以用面向过程方法来解决,但两者还是有一定区别
面向过程:是分析问题并解决问题所需要的步骤,强调是解决问题的步骤。可以先定义多个函数,在使用的时候逐步调用函数即可
面向对象:是把问题分解成多个对象,强调的是解决问题的行为表现

在.net中接口、类、抽象类有什么异同?

抽象类:
1)抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法
2)抽象类不能被实例化
3)抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类
接口:接口不能被实例化接口只能包含方法声明接口的成员包括方法、属性、索引器、事件;接口中不能包含常量、字段(域)、构造函数、析构函数、静态成员。
相同点:都可以被继承都不能被实例化都可以包含方法声明派生类必须实现未实现的方法
不同点:抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。
抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范接口可以被多重实现,抽象类只能被单一继承接口可以用于支持回调,而继承并不具备这个特点



在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YSの陈憨憨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值