C#继承多态

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

 class Animal
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        private string gender;
        public string Gender
        {
            get { return gender; }
            set { gender = value; }
        }
        
        private int age;
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        
        public void Run()
        {
            Console.WriteLine("奔跑。。。");
        }

    }

    class Cat:Animal
    {   
        public void CatchMouse()
        {
            Console.WriteLine("抓老鼠。。。");
        }
    }

    class Dog:Animal
    {
        public void GuardHouse()
        {
            Console.WriteLine("看家护院。。。");
        }
    }

    class Cattle:Animal
    {
        public void Plowland()
        {
            Console.WriteLine("耕田。。。");
        }
    }

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

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
class Program
{
class OneBase
{
protected virtual string GetName()
{
return "OneBase";
}

public void PrintName()
{
Console.WriteLine(GetName());
}
}

class A : OneBase
{
protected override string GetName()
{
return "A";
}


}

class B : OneBase
{
protected override string GetName()
{
return "B";
}
}

static void Main(string[] args)
{
List<OneBase> baseLst = new List<OneBase>();
B b = new B();
baseLst.Add(b);
A a = new A();
baseLst.Add(a);

foreach (OneBase o in baseLst)
{
o.PrintName();
}

Console.ReadLine();
}
}
}

03:什么是抽象类?代码举例说明
答:
1、声明一个抽象方法使用abstract关键字。
2、一个类中可以包含一个或多个抽象方法。
3、抽象类中可以存在非抽象的方法。
4、抽象类不能被直接被实例化。
5、实现抽象类用“:”(冒号),实现抽象方法用override关键字。
6、抽象类可以被抽象类所继承,结果仍是抽象类。
7、抽象方法被实现后,不能更改修饰符。

public abstract class Person
{
public abstract void SayHello();
public void about()
{
Console.WriteLine("Abstract Demo");
}
}
public class Student : Person
{
public override void SayHello()
{
Console.WriteLine("SayHello");
}
}
class MainClass
{
public static void Main()
{
new Student().SayHello();
}
}

04:抽象类和接口的相同点和不同点?
答:
相同点:
(1) 都可以被继承
(2) 都不能被实例化
(3) 都可以包含方法声明
(4) 派生类必须实现未实现的方法
区 别:
(1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。
(2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范.
(3) 接口可以被多重实现,抽象类只能被单一继承
(4) 接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法
(5) 接口可以用于支持回调,而继承并不具备这个特点
(6) 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法

05:抽象方法和虚方法的不同点和相同点?
答:
不同点
1、方法关键字不一样

虚方法的方法关键字是:virtual。

抽象类的方法关键词是:abstract

2、基类的方法是否有方法体/实现

虚方法的方法:声明并实现方法。

抽象类的方法:只作声明,无方法体/无实现。

共同点

1、子类/派生类都要重写父类的方法:关键字override。

06:定义抽象类和抽象方法的关键字?
答:在C#中使用关键字 abstract 来定义抽象类和抽象方法。

在C#中使用关键字 abstract 来定义抽象类和抽象方法。

07:书本上XML那一章中有哪些方法?代码一一举例
答:操作XML的方法

//获取文件
XmlDocument myXml = new XmlDocument();
//读取指定的xml文档
myXml.Load("Engineer.xml");
//读取XML的根节点
XmlNode engineer = myXml.DocumentElement;
//对子节点进行循环
for(XmlNode node in engineer.ChildNodes)
{
//将每个节点的内容显示出来
switch(node.Name)
{
    case "ID":
      Console.WriterLine("ID{0}",node.InnerText);
      break;
    case "Name":
      Console.WriterLine("姓名{1}",node.InnerText);
      break;
    case "Age":
      Console.WriterLine("年龄{2}",node.InnerText);
      break;
}
}
Console.ReadLine();
}

08:书本上文件那一章中有哪些方法?代码一一举例

//创建文件流
FileStream myfs = new FileStream();
//创建写入器
StreamWriter mysw = new StreamWriter(myfs);
//将录入的内容写入文件
myfs.Writer(content);
//关闭写入器
myfw.Close();
//关闭文件流
myfs.Close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值