1、面向对象有几大特征?分别是什么?

面向对象有三个特征。

分别是:封装、继承、多态。

2、什么是多态?列举多态的实现?

多态:不同对象调用相同的方法,可以有不同的解释,产生不同的执行结果,这就是多态。

实现:派生类重载基类中的虚方法来实现。

继承是子类使用了父类的方法,多态是父类使用了子类的方法。

3、简述 private、 protected、 public、 internal 修饰符的访问权限。

private : 私有成员, 在类的内部才可以访问。

protected : 保护成员,该类内部和继承类中可以访问。

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

internal: 当前程序集内可以访问。

4、ADO.NET中的五个主要对象。

分别为:Connection、Command、DataAdapter、DataSet、DataReader。

1) 、Connection:主要是开启程序和数据库之间的链接。没有利用连接对象将数据库打开,是无法从数据库中取得数据的。(Close和Dispose的区别:Close以后还可以Open;Dispose以后则不能再用)。

2) 、Command:主要可以用来对数据库发出一些指令,例如:对数据库下达查询、新增、修改、删除等数据库指令,以及调用存在数据库中的存储过程等。这个对象是架构在Connection对象上,也就是通过Command对象连接到数据源。

3) 、DataAdapter:主要是在数据源以及DataSet之间执行数据传输的工作,他可以通过Command对象下达命令后,并将取得的数据放入DataSet对象中。DataAdapter对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。

4)、 DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来,DataSet是放在内存中的。DataSet的能力不只是可以存储多个Table而已,还可以透过DataAdapter对象取得一些例如逐渐等的数据表结构,并可以记录数据表间的关联。DataSet对象可以说是ADO.NET中重量级的对象,DataSet对象架构在DataAdapter对象上,本身不具备数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet对象以及数据源间传输数据的桥梁。DataSet包含若干DataTable、DataTable包含若干DataRow。

5)、 DataReader:当我们只需要循环的读取数据而不需要其他的操作时,就可以使用DataReader对象。DataReader对象只是一次一笔向下循环读取数据源中的数据,这些数据是存在数据库服务器中的,而不是一次性加载到程序的内存中的,只能通过游标读取当前行的数据,而且这些数据是只读的,不允许作其他的操作。因为DataReader在读取数据的时候限制了每次只读取一笔,而且只能是只读,所有使用起来不但节省资源而且效率很好。使用DataReader 对象出了效率较好之外,因为不能把数据全部传回,故可以降低网络的负载。

总:ADO.NET使用Connection 对象来连接数据库,使用Command 或DataAdapter对象来执行SQL语句,并将执行的结果返回给DataReader 或DataAdapter ,然再在使用取得的DataReader 或DataAdapter 对象操作数据结果。

5、列举C#中接口和类的异同?

不同点:

① 接口不能直接实例化。

② 接口强调了必须实现,但没有具体实现的方法。

③ 接口可以多继承,类只能单继承。

④ 类的定义可以在不同的源文件之间进行拆分。

相同点:

① 接口、类、结构都可以从多个接口继承.。

② 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。

③  接口和类都可以包含事件、索引器、方法、属性(基础知识:接口只能定义方法/行为,不能定义实现也就是字段,因为事件、索引器、属性本质上都是方法,所以接口中也可以定义事件、索引器、属性)。

6、public static const int A = 1;这段代码有错误么?

有错误:A 被声明为常量(const) 就是静态的(static ),不能被修饰为static。

7、C#中所有对象的共同基类是什么?

System.Object

8、C#中的委托是什么?事件是不是一种委托?事件和委托的关系。

委托可以把一个方法作为参数代入另外一个方法,委托可以理解为指向一个函数的指针。

委托和事件没有可比性,因为委托是类型,事件是对象。

事件的内部是用委托实现的。因为对于事件来讲,外部只能‘注册自己+=、注销自己-=’,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值。事件只能+=、-=,不能=(委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别)。

9、值类型和引用类型的区别?

① 将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。

② 值类型不可能派生出新的类型:所有的值类型均隐式派生自 System.ValueType。但与引用类型相同的是,结构也可以实现接口。

③ 值类型不可能包含 null 值:然而,可空类型功能允许将 null 赋给值类型。

④ 每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。

10、C# Hashtable和HashMap的区别?

首先C#只有Hashtable,Hashtable表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。C#中没有HashMap,而HashMap是Java1.2引进的Map interface的一个实现....

①、Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类。

②、Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:Map Collections.synchronizedMap(Map m)这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。

③、在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。

面向对象编程篇-02 更新中。。。。。

command对象提供的3个execute方法是_【面试题】面向对象编程篇-01相关推荐

  1. command对象提供的3个execute方法是_前阿里P9的Java面试重点3:多线程

    1. 并行和并发有什么区别? 并行:多个处理器或多核处理器同时处理多个任务. 并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行. 如下图: 并发 = ...

  2. command对象提供的3个execute方法是_并发面试题:java中有几种方法可以实现一个线程?...

    创建并启动线程的6种方式 继承Thread类创建线程 实现Runnable接口创建线程 使用Callable和FutureTask创建线程 使用线程池,例如用Executor框架 Spring实现多线 ...

  3. command对象提供的3个execute方法是_Python:3分钟看懂,基于 Psycopg2 的 PostgreSQL 操作指南!

    本Python PostgreSQL教程演示了如何使用PostgreSQL数据库服务器开发Python数据库应用程序.在Python中,我们有用于连接和使用PostgreSQL的serval模块.以下 ...

  4. command对象提供的3个execute方法是_21个极大提高开发效率的VS Code快捷键

    摘要: 高效使用VS Code! 作者:前端小智 原文:21 个VSCode 快捷键,让代码更快,更有趣 Fundebug经授权转载,版权归原作者所有. 注意:自己尝试的时候,Mac(17, pro) ...

  5. python文件对象提供了3个读方法、分别是-python3 IO编程:文件读写

    打开文件对象 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从 ...

  6. Java面向对象编程篇1——类与对象

    Java面向对象编程篇1--类与对象 1.面向过程 1.1.概念 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了 1.2.优缺点 优点:性 ...

  7. command对象的三个主要的方法 1119

    增删改查数据 cmd的ExecuteNonQuery方法 格式 command对象.ExecuteNonQuery(); 功能 返回受影响的行数 例子 // 让小乔的战力变为77String sql ...

  8. python文件对象提供了3个读方法、分别是-Python读写文件模式和文件对象方法实例详解...

    本文实例讲述了Python读写文件模式和文件对象方法.分享给大家供大家参考,具体如下: 一. 读写文件模式 利用open() 读写文件时,将会返回一个 file 对象,其基本语法格式如: open ( ...

  9. python文件对象提供了3个读方法、分别是-python3基础之文件对象操作

    1.向文本文件中写入内容 s = 'Hello world 文本文件的读取方法 文本文件的写入方法 ' # 需要写入文件的字符串 print('显示需要写入的内容: {0:s}'.format(s)) ...

  10. python面对对象编程写一个程序有一个汽车_汽车类面向对象编程Python

    我正在定义一个名为"car"的类,我将它与一个在我的类上运行一系列测试的文档进行比较.然而,我在驱动法中得到了错误的答案,我不知道为什么.在 这是我的密码.驱动方法应该以汽车为参数 ...

最新文章

  1. DeepLabv3:语义图像分割
  2. SMO算法(比较好的讲解)
  3. hdu 2255 奔小康赚大钱--KM算法模板
  4. Python + wordcloud + jieba 十分钟学会生成中文词云
  5. python程序控制结构_python程序控制结构
  6. Android Weekly Notes Issue #225
  7. 【转】二维异形件排版算法介绍(二)
  8. INTRODUCTION TO NONELINEAR OPTIMIZATION Excise 5.2 Freudenstein and Roth Test Function
  9. 2018 年React 将独占前端框架鳌头
  10. NHibernate查询语言(HQL)
  11. es使用同义词插件注意事项
  12. python基础教程解压密码_python学习手册视频教程压缩包解压密码?
  13. 安装tcpreplay时报错:configure: error: libdnet not found
  14. css3D旋转立方体
  15. 这次,多地消防控制室双人值守可变单人值守
  16. Debian 官方发文庆祝 28 岁生日
  17. Java实战项目《瑞吉外卖》
  18. Prometheus监控系统
  19. Java课程设计-实验室预约管理系统
  20. 什么样的人适合做项目经理

热门文章

  1. R语言colorRampPalette函数-创建颜色梯度(渐变色)
  2. 003_ElasticSearch详解与优化设计
  3. 手游:cocos2d-x3.0 移植 wp8 开发 各种 “蛋疼”问题的汇总
  4. WPF-21:WPF实现仿安卓的图案密码键盘(改进)
  5. linux下使用hash_map及STL总结
  6. 比较算盘和计算机的优点,UPD4526BC 二进制与十进制相比较的优点
  7. sever2008 ad用户和计算机不见,windows-server-2008 – 当我使用Powershell将用户添加到安全组时,它们不会显示在AD中...
  8. c++ map 析构函数_面向偷懒的编程 - C/C++项目中使用Go的分布式系统库
  9. apache tomcat linux 配置,linux下apache+tomcat配置
  10. python控制语句字符串截取_python字符串截取如何操作