C#003继承多态

.NET/C# ⾯试题汇总系列:ASP.NET常见面试题 003 进程:进程是比线程大的程序运行单元,都是由操作系统所体会的系统运行单元,一个程序中至少要有一个进程,一个进程中,至少要有一个线程线程:线程的划分尺度要比进程要小,进程拥有独立的内存单元,线程是共享内存,从而极大的提高了程序的运行效率,同一个进程中的多个线程可以并发执行。事件基于委托,事件的本质是委托字段的包装器,对委托字段的访问起限制作用,RANK 函数的语法是:在分组内,按照特定的顺序排名,序号从 1 依次递增,排名函数以 tie 为单位,每个 tie 中的所有行的排名是相同的,排名可能是不连续的。 阅读详情

01:什么是继承?代码举例说明

public class Person
    {
        public int Age { get; set; }

        public string Name { get; set; }
    }


public class Student:Person
    {
        public void SayHi()
        {
            Console.WriteLine(this.Age+this.Name);
        }
    }

02:什么是多态?代码举例说明

public class Teacher:Person
    {
        public override void SayHi()
        {
            Console.WriteLine("我是老师" + this.Age + this.Name);
        }
    }

public class Student:Person
    {
        public override void SayHi()
        {
            Console.WriteLine("我是学生"+this.Age+this.Name);
        }
    }

public class Person
    {
        public int Age { get; set; }

        public string Name { get; set; }

        public virtual void SayHi()
        {
            Console.WriteLine("你好~");
        }
    }

03:什么是抽象类?代码举例说明

public abstract class Car
    {
        public abstract void Run();
    }

04:抽象类和接口的相同点和不同点?
相同点:
都不能实例化
都可以被继承
可以包含属性和方法

不同点:
接口可以多实现,而抽象方法只能单继承

05:抽象方法和虚方法的不同点和相同点?
相同点:
都可以实现多态
都可以被子类重写

不同点:
抽象方法用abstract修饰,虚方法用virtual修饰
抽象方法必须被子类重写,除非子类也是个抽象类
抽象方法只能抽象类当中定义

06:定义抽象类和抽象方法的关键字?
  使用abstract关键字

07:书本上XML那一章中有哪些方法?代码一一举例
Load()----读取整个XML结构

static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("test.xml");
        }

08:书本上文件那一章中有哪些方法?代码一一举例
File类常用方法:
Exists(string path)  用于检查文件是否存在
Copy(string oldPath,string newPath) 将文件拷贝到指定路径
Move(string oldPath,string newPath) 将文件移动到指定路径
Delete(string path) 删除指定路径文件

Directory类常用方法:
Exists(string path)  用于检查指定文件夹在磁盘中是否存在
Move(string oldPath,string newPath) 将文件夹或目录移动到指定路径
Delete(string path) 删除指定目录

static void Main(string[] args)
        {
            string path = "B:\\ceshi.txt";
            string newPath = "D:\\ceshi.txt";
            CopyFile(path,newPath);
            DelFile(newPath);
            MoveFile(path, newPath);
            Console.ReadKey();
        }


        public static void CopyFile(string oldPath,string newPath)
        {
            try
            {
                if (!File.Exists(oldPath))
                {
                    Console.WriteLine("文件不存在!");
                    return;
                }
                File.Copy(oldPath,newPath);
                Console.WriteLine("复制成功!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("复制出现异常"+ex.Message);
                throw;
            }

        }

        public static void DelFile(string path)
        {
            try
            {
                if (!File.Exists(path))
                {
                    Console.WriteLine("文件不存在!");
                    return;
                }
                File.Delete(path);
                Console.WriteLine("删除成功!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("删除出现异常"+ex.Message);
                throw;
            }
        }

        public static void MoveFile(string oldPath, string newPath)
        {
            try
            {
                if (!File.Exists(oldPath))
                {
                    Console.WriteLine("文件不存在!");
                    return;
                }
                File.Move(oldPath, newPath);
                Console.WriteLine("移动成功!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("移动出现异常"+ex.Message);
                throw;
            }
        }

static void Main(string[] args)
        {
            string path = "B:\\";
            DirectoryInfo[] dir = FindD(path);
            Console.WriteLine("B盘目录:");
            foreach (DirectoryInfo info in dir)
            {
                Console.WriteLine(info.FullName);
            }
            Console.ReadKey();
        }


        public static DirectoryInfo[] FindD(string path)
        {
            DirectoryInfo info = new DirectoryInfo(path);
            DirectoryInfo[] dir = info.GetDirectories();
            return dir;
        }

 

基于C#的NVNC开源远程桌面程序实战项目 设计原则:- 固定头部 + 可变负载;- 支持快速跳过未知消息;- 易于扩展字段。示例协议头:// 标识符 'V'// 消息类型// 负载长度Pack = 1确保结构体内存布局紧凑,避免默认对齐造成的间隙。NVNC项目采用分层式模块化结构,确保各组件之间职责明确、交互清晰。主要分为四个逻辑层级:Server层负责监听连接请求并管理会话生命周期;Client层用于发起远程连接并接收帧更新;Protocol层封装RFB协议的具体实现细节;最后是。 阅读详情

相关推荐

保姆级教程:用MATLAB搞定双目相机标定,从导入图片到参数解读全流程

本文提供了一份详细的MATLAB双目相机标定全流程指南,涵盖从图片准备到参数解读的每个环节。重点讲解了棋盘格选择、拍摄技巧、MATLAB工具箱设置及参数优化,帮助读者避免常见错误并提升标定精度。特别适合机器人导航、三维重建等领域的开发者。

weixin_33737134的博客 429

003 C#继承多态

01:什么是继承?代码举例说明 02:什么是多态?代码举例说明 03:什么是抽象类?代码举例说明 04:抽象类和接口的相同点和不同点? 相同点 : 1、都不能被直接实例化,都可以通过继承实现其抽象方法。 2、都是面向抽象编程的技术基础,实现了诸多的设计模式。 不同点 1、 接口支持多继承;抽象类不能...

Anlge_kiss的博客 162

【vue看板】

大屏看板提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:代码量较多,看板中的。

weixin_46223284的博客 2772

003: C#继承多态

(1)什么是继承?代码举例说明 public class TrafficTool { public virtual void Run() { Console.WriteLine("汽车在奔跑"); } } public class Tube:TrafficTool { public ove...

qq_44808428的博客 153

Halcon图片拼接避坑指南:特征点匹配常见问题与解决方案

本文深入解析Halcon图片拼接中特征点匹配的常见问题与解决方案,涵盖特征点提取、匹配优化及变换模型选择等关键环节。针对工业视觉检测中的拼接错位、重影等问题,提供参数调优、图像预处理和算法选择等实战技巧,帮助开发者高效避坑并提升拼接精度。

weixin_28694169的博客 198

Axure RP9汉化+授权全攻略:从下载到激活一步到位(附最新授权码)

本文提供Axure RP9从下载安装到界面汉化的完整指南,帮助设计师和产品经理快速上手这款原型设计工具。详细讲解了如何安全获取软件、执行汉化操作、理解核心界面布局,并介绍了创建交互原型和生成HTML文件的基础步骤,助力用户高效开展设计工作。

cuda7parallel的博客 1141

C003C#继承多态

01:什么是继承?代码举例说明 比如:汽车继承车类拥有车会跑的方法还有一些属性 public class Employee { public string ID { get; set; } public string name { get; set; } public int Age { get; set; } public Employee() {...

weixin_44408363的博客 144

【TensorRT】TensorRT C# API 项目介绍:基于C#与TensorRT部署深度学习模型(上篇)

开发了TensorRT C# API 2.0版本,该版本在开发时充分考虑了上一版本应用时出现的问题,并进行了改进。同时在本版本中,我们对接口进行了优化,使用起来更加简单,并同时提供了相关的应用案例,方便开发者进行使用。

grape_yan的博客 3038

unity开发 --------- c# 基本语法 003

关联内容 c#基础语法  http://blog.youkuaiyun.com/u012085988/article/details/19981161

u012085988的专栏 2111

Echarts - 去掉图表上的横线和竖线

效果图 默认效果: 变为如下图所示效果: 实现方法 官方配置文档:https://echarts.apache.org/zh/option.html#radar.splitLine 在 xAxis yAxis 配置中分别加入以下代码: splitLine: { show:false }

🏆 前端领域优质创作者 1万+

YOLOv13改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣ 已更新种不同的改进方案,专栏内的每篇文章皆,均可顺利运行。2️⃣ 订阅专栏即可进群获取以及从的各种答疑内容。3️⃣ 全新的YOLOv13改进专栏,,只为更好的满足论文发表的要求。专栏内容,专栏实时评分,全网最高,质量保证。🎫。。

Limiiiing的博客 9153

C# 繼承機制

從簡單的寥寥語句,完成繼承機制../* * Created by SharpDev. * User: quone * Date: 2008-12-27 * Time: 0:03 *  */using System;using System.Collections.Generic;using System.Text;namespace jizhi{    class Program    {

Seedling 549

GIS常用符号化色带(超级色带)根据python制作

GIS自带的色带比较单一,今天分享一款色带,应用之后大家出图的时候可以选择更多的配色,符号化/点击色块/样式引用/将样式添加至列表即可。色带类型比较多,大家可以自己尝试下不同的风格。简单符号化一下,看看效果。以中国县级行政区划为例,

J_Giser的博客 2638

c#学习笔记003days

003days 泛型 回调 接口 委托 泛型 using System; //泛型 //可以将类型在类、接口、方法中进行传递 //类似于--传参 //泛型的命名:是一个标识符,遵循大驼峰命名法 //泛型在类中的使用 #region /* class Person<T> {//虽然说在类中并不知道T到底是什么类型 //但是并不影响可以使用T public T t; } //在一个类中,可以有不止一种泛型 class Dog<T, M, D> { public static M

asdjsakl123的博客 291

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

面向对象编程核心:从封装继承多态到SOLID原则实战解析

面向对象编程是一种以对象为核心的编程范式,它将数据和操作数据的方法封装在一起,模拟现实世界中的实体。其核心原理基于封装、继承和多态三大特性:封装通过隐藏内部细节保护数据完整性;继承实现代码复用和层次化建模;多态则允许同一接口呈现多种行为。这种编程方式的技术价值在于显著提升代码的可维护性、可扩展性和复用性,尤其适用于构建复杂软件系统。在应用场景上,无论是桌面应用、电商系统还是专业工具开发,面向对象思想都能帮助开发者更好地组织代码结构。本文通过具体案例,深入探讨了封装如何设立清晰边界、继承的合理使用场景,以及多

weixin_34279246的博客 316

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C#基础语法视频教程

淘宝已经和谐了这个网站,原网址:https://item.taobao.com/item.htm?spm=a1z09.8149145.0.0.RSwNWE&id=39504025202&_u=nbadm4vc436 本人邮箱:963438617@qq.com 本视频的开发工具为:VS2008,也可用VS2010。 该教程的重点内容为:位操作 位运算 继承 抽象类 多线...

weixin_33851177的博客 214

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

c#中virtual,new和override的区别

A类 有方法 public virtual void test() B类继承自A类,有方法 public new void test()或者B类继承自A类,有方法 public override说void test()如果你用override,则无论调用的是A类还是B类中的test(),系统都会找到它实质类的test(); 如果是用的New,则可以通过类型转换调

lzx5201314的专栏 817

C#中virtual,new和override的区别

A类 有方法 public virtual void test() B类继承自A类,有方法 public new void test() 或者B类继承自A类,有方法 public override说void test() 如果你用override,则无论调用的是A类还是B类中的test(),系统都会找到它实质类的test(); 如果是用的New,则可以通过类型转换调用到基类的tes

小猪的专栏 1711

ACCP7.0s2深入.net和c#第七章上机123

--上机1 public class instrument { public virtual string play() { return ""; } } public class piano:instrument { public override string play() {

baidu_36074048的博客 3788

接口映射的实现及原理

我们先看看 该代码的类图的层次结构吧可以看出,每一个“方法()”,实际上都是不同的。在“有接口的继承”中,接口将“Test.接口.方法()”进行了重新映射。这个映射是如何完成的呢?看看如下的IL代码:在采取使用它们自己的类作为访问入口时,代码实现如下: 没有接口的继承,它实现的方式如下: .method public hidebysig in...

weixin_33889665的博客 496
上一篇: C#02
下一篇: C#MVC
Jdouble
博客等级 码龄7年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值