C# inheritance: implements + extends

46,000

Solution 1

C# doesn't support multiple inheritance. You can derive from one class and use interfaces for your other needs.

Syntax:

class MyClass : Foo, IFoo, IBar
{
}

interface IFoo
{
}

interface IBar
{
}

class Foo
{
}

Solution 2

Try this one:

using System;

public interface A
{
    void DoSmth();
}

public class B
{
    public void OpA() { }
    public void OpB() { }
}

public class ClassC : B, A
{
    public void DoSmth(){}
}

Remember, you cannot inherit from two classes at specific class level, it could be only one class and any number of interfaces.

Solution 3

    class Base
    {
    }

    interface I1
    {
    }

    interface I2
    {
    }

    class Derived : Base, I1, I2
    {
    }

    static void Main(String[] args)
    {

        Derived d = new Derived();
    }

Solution 4

It should look like this:

public class MyClass: ClassB, InterfaceA{
}

ClassB is the base class.

InterfaceA is an interface.

You can only extend one base class, but you can implement many interfaces.

Share:
46,000
NewProger
Author by

NewProger

I'm trying to learn several programming languages. Mostly C# and PHP, I'm no pro, so I may sometimes ask silly things, but please bear with me :) PS - also english is not my native language.

Updated on July 29, 2022

Comments

  • NewProger
    NewProger almost 2 years

    Is it possible to do something like that in C#:

    public class MyClass implements ClassA extends ClassB 
    {
    
    }
    

    I need this because: I have two classes one of which is an Interface which I will be implementing in my class, but I would like to also use methods from another class, that does some stuff that I would like to use in my class.