参考素材来源于:
<<NET程序员面试秘笈>>
说明
该文档记录5题,该文档记录题目为面试1-面试5
内容为个人理解和素材截图
面试1:简述面向对象的程序设计思想
以往面向过程开发思路,是基于某个业务,逻辑思维支撑,一步步业务完成步骤流程的去完成开发,
面向对象思想涌现普及后,业务解决基于一个业务解决类来进行统筹处理,业务类中定义了实现业务的方法,由类的使用者调用这些方法,使用类成员,完成业务开发,类的使用者不关心业务类如何定义,业务类方法如何使用,只做类的使用者。面向对象具有封装、集成、多态、抽象这四大特征。
书的描述:
答案梳理:
面向对象开发思想具备,封装、继承、多态、抽象4大特征。我们用面向对象开发思想进行业务开发,我们能够把业务抽象为单个甚至多个对象相互协作的模型,然后编写各个模型的描述特征和行为,这里的特征和行为分别为模型内部成员属性,内部操作方法。由这些模型组成我们业务的功能实现支撑,最后再实例化这些模型为一个个具体对象,来处理该业务。
口水话:
我们基于上面思想衍生出这样一个思路,万物皆对象,都能找到一个抽象的模型来描述对象。这种偏向人思维方式的开发模式,帮组我很更能理解业务,梳理业务,当然也让我们开发效率更高。
面试2:用代码描述类和对象的区别
首先我们来说明下类和对象区别:
类所描述的是一类事物,对象描述的是一类抽象事物的具体。类说明了对象的特征和行为即属性和方法,对象实现了类的定义,类通过构造函数生成了对象,该对象是具体的存在的。
我们从现实需求来说明:
客户需要一个能够帮助他获取天气的工具,这个工具能给客户想要的 实时气象信息比如【今天天气怎么样,多少度】
那么我们可以定义一个类,该类能够体现天气信息和温度,还有能够更新气象数据的行为
public class Weather{
//天气信息
public string WeatherInfo{get;set;}
//温度信息
public float Env{get;set;}
public void FlushData(){
//do something
//更新天气信息和温度信息
}
}
public void Main(string[] args){
Weather wobj= new Weather();
wobj.FlushData();//刷新消息
Console.WriteLine("天气是"+wobj.WeatherInfo);
Console.WriteLine("温度是"+wobj.Env);
}
书上描述:
面试3:描述private、protected、internal和public修饰符的作用
这四种都是限定类、类成员的被访问权限的修饰符。
被public修饰,能够被同一命名空间、不同一命名空间、不同程序集、相同程序集所访问
被private修饰、能够被类成员所访问,广泛用于限定属性的get、set方法,标注私有类成员
被protected修饰,能够被类成员和子类访问
被internal修饰,能够被当前项目成员访问
其实还有一种情况 protected internal,再用程序集下,的子类能访问
访问修饰符诠释了面向对象的封装性,有些功能我们不知道,但是他存在。
面试4:举例说明属性、get和set访问器的使用
没加入属性机制前,对类成员来说,由对象使用者直接赋值,值存在不严谨的情况发送,比如年龄成员赋值-1。
加入属性后,我们可以通过get和set访问器来对类成员进行赋值,那么由于经过这两个成语进行赋值和取值,我能在给类成员赋值时,对值进行过滤和规范控制。
面试5:描述sealed修饰符的使用
密封类多用于单一功能的实现,并且防止被意外继承,产生非预期的结构。
end:
2021年4月06日-day1
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/5102.html