百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

今日5题-「知识梳理-net面试专题」-概念题01

bigegpt 2024-08-23 11:56 2 浏览

参考素材来源于:

<<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

相关推荐

悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)

新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...

高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源

凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...

微服务架构实战:商家管理后台与sso设计,SSO客户端设计

SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...

还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑

在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...

Seata源码—6.Seata AT模式的数据源代理二

大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...

30分钟了解K8S(30分钟了解微积分)

微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...

SpringBoot条件化配置(@Conditional)全面解析与实战指南

一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...

一招解决所有依赖冲突(克服依赖)

背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...

你读过Mybatis的源码?说说它用到了几种设计模式

学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...

golang对接阿里云私有Bucket上传图片、授权访问图片

1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...

spring中的资源的加载(spring加载原理)

最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...

Android资源使用(android资源文件)

Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...

如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)

深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...

@Autowired与@Resource原理知识点详解

springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...

java的redis连接工具篇(java redis client)

在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...