`

虚方法实现多态

    博客分类:
  • C#
阅读更多
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            employee[] emp = new employee[3];
            emp[0] =new  manager("A","28");
            emp[1] =new  secretary("B","30");
            emp[2] =new  saler("C","27");
            foreach (employee e in emp)
            {
                e.starwork();
            }
            Console.Read();
        }
    }
    //创建类employee
    class employee
    {
        private string _age;       
        private string _name;
        public employee() { }
        public employee(string name,string age)
        {
            _name = name;
            _age = age;
        }
        public virtual void starwork()
        {

            Console.Write(_name + "员工"+_age+"岁,开始工作,");
        }
    }
    //创建类secretary 继承于employee
    class secretary : employee
    {//派生类显示调用基类的构造函数
        public secretary(string name,string age) : base(name,age) {}
        public override void starwork()
        {
            base.starwork();
            Console.WriteLine("秘书负责协助工作");
        }
    }
    //创建类manager 继承于employee
    class manager : employee 
    {
        public manager(string name,string age) : base(name,age) {}
        public override void starwork()
        {
            base.starwork();
            Console.WriteLine("经理负责管理工作");
        }
    }
    //创建类saler 继承于employee
    class saler : employee
    {
        public saler(string name, string age) : base(name, age) { }
        public override void starwork()
        {
            base.starwork();
            Console.WriteLine("销售人员负责销售商品");
        }
    }
}
分享到:
评论

相关推荐

    虚方法实现多态2023.12.10

    虚方法实现多态2023.12.10

    C#中CLR虚方法的多态调用

    在C#中,通过虚方法实现多态的一种方式是通过方法的覆盖(Override)。 - **虚方法**:在基类中声明为`virtual`的方法,可以在派生类中通过`override`进行重写,从而实现在不同类型的对象上调用同一名称的方法时...

    实现多态:虚方法

    本文将详细探讨如何通过虚方法实现多态,以及这一特性背后的原理。 #### 多态的概念 多态(Polymorphism),字面上意味着“多种形态”。在面向对象编程中,它指的是相同的消息被不同类型的对象接收时,能触发不同...

    虚方法实现多态 C#中的5种访问修饰符

     虚方法实现多态  父类声明方法时加 virtual关键字表示这是一个虚方法  子类声明方法时加override关键字表示这个方法是重写父类中的虚方法  声明对象时 使用父类类型 声明对象变量 使用子类类型 构造...

    多态简单工厂

    同时,讲堂可能还会涉及到如何利用C#的抽象类和虚方法实现多态。抽象类可以包含抽象方法和属性,子类必须实现这些抽象成员。虚方法允许子类通过`override`关键字重写父类的行为,从而实现多态。 此外,上机部分和...

    虚函数、多态、动态联编

    虚函数是实现多态的关键机制,它允许我们通过父类指针或引用调用子类重写的方法,从而达到运行时确定具体调用哪个函数的目的。 虚函数的主要作用是实现多态性,即同一份代码在不同上下文中可以有不同的行为。例如,...

    c++继承与多态,虚函数实例

    虚函数在实现多态中扮演着关键角色,它可以确保程序在运行时能够调用到正确的方法,即便对象的实际类型与指针或引用声明的类型不同。 首先,让我们深入理解“虚函数”这一概念。在C++中,虚函数通过在基类中使用`...

    c语言实现多态

    下面将详细介绍如何在C语言中实现多态。 1. 函数指针: 函数指针是C语言中实现多态的一种基础方式。它可以被用作参数传递,或者存储在结构体中,使得不同的函数可以通过相同的接口调用。例如,你可以定义一个通用...

    实验3 继承与多态性.docx

    二是掌握虚方法的定义和使用虚方法实现多态;三是掌握抽象类的定义和使用抽象方法实现多态。实验要求学生编写规范、正确的程序代码,并且在上机调试过程中记录结果。 二、实验设备和环境 本实验使用 Visual Studio...

    面向对象练习之三--多态 (抽象方法和虚方法)

    虚方法(Virtual Method)则是另一种实现多态的方式。在C#或Java中,一个方法声明为虚方法时,意味着这个方法可以在子类中被重写。当通过父类引用调用这个方法时,实际执行的是子类中的版本,这就是所谓的动态绑定或...

    C++虚函数和多态学习笔记

    在C++中,虚函数是实现多态的一种机制。多态是指同一个接口(方法名)可以有不同的行为表现,即“一种接口,多种方法”。通过虚函数,我们可以实现在不同的派生类中对同一个函数的不同实现。 #### 二、虚函数的工作...

    虚函数与多态,通过案例来阐述多态的概念和虚函数的使用

    虚函数(Virtual Function)是实现多态的关键机制。 虚函数是在基类中声明的函数,它允许子类重写该功能,以便在运行时根据对象的实际类型调用相应的实现。在上述代码示例中,`CEmployee` 类是所有员工类型的基类,...

    VS2010 C# 多态实例

    在这个“VS2010 C# 多态实例”中,我们将深入探讨C#语言如何实现多态,以及如何在Visual Studio 2010环境下利用这一特性进行开发。 C#中的多态性主要体现在两个方面:方法的重载(Overloading)和方法的重写...

    虚函数和多态.docx

    虚函数和多态是面向对象编程中的核心概念,它们在C++和其他支持这些特性的语言中扮演着重要的角色。虚函数允许子类重写基类的行为,从而实现更灵活的代码设计。多态则允许我们编写更加通用的代码,不必关心具体对象...

    js中实现多态采用和继承类似的方法.docx

    ### JavaScript中实现多态的方法 #### 一、前言 在面向对象编程中,多态是一种重要的特性,它允许我们使用一个接口表示多种类型的对象。JavaScript作为一种动态语言,虽然不像Java或C#那样原生支持类和接口的概念,...

    空对象模式虚函数实现运行时多态策略模式

    然后,子类通过覆盖这些虚函数实现多态。运行时多态是面向对象编程的重要特性之一,它使得我们可以编写更加灵活和可扩展的代码。 **策略模式** 策略模式是一种行为设计模式,它定义了一系列算法,并将每个算法封装...

    C++ 虚基类 继承 多态示例

    在C++中,虚函数(`virtual` 关键字修饰)是实现多态的主要手段。虚函数使得子类可以覆盖(override)父类的函数实现,从而在运行时根据对象的实际类型来调用适当的方法。例如,`Shape`类可以有一个虚函数`getArea()...

    c语言实现继承与多态

    为了实现多态,即相同的消息可以由不同对象响应,可以使用函数指针或回调函数。这些函数指针可以关联到特定的对象,当消息(函数调用)发送给对象时,实际执行的代码取决于对象的类型。 多态性是通过虚函数(在C++...

    CH02-C#面向对象编程-OOP.md

    1. static关键字 2. C#中的集合 * ArrayList * HashTable * List * Dictionary,V> * 集合初始化器 3. out,ref,params... * 虚方法实现多态 * 抽象方法实现多态 * 虚方法和抽象方法的区别 7. 接口

Global site tag (gtag.js) - Google Analytics