© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•2y ago•
64 replies
Falco

Practicing OOP in c#, is this logical implementation of an Interface?

public interface IMembershipManager
{
    void RegisterMembership(Person person);
    void CancelMembership(Person person);
    bool CheckMembership(Person person);
}

public class MembershipManager : IMembershipManager
{
    public void RegisterMembership(Person person) {
        person.Membership = true;
    }
    public void CancelMembership(Person person) {
        person.Membership = false;
    }

    public bool CheckMembership(Person person) {
        return person.Membership;
    }
}

public class Person
{
    public Person(string firstname, string lastname, bool membership)
    {
        FirstName = firstname;
        LastName = lastname;
        Membership = false;
    }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public bool Membership { get; set; }
}

public class Program{ 
    public static void Main()
    {
        Person person = new Person("John", "John", false);
        Console.WriteLine(person.FirstName);
        Console.WriteLine(person.LastName);
        Console.WriteLine(person.Membership);

        IMembershipManager membershipManager = new MembershipManager();
        membershipManager.RegisterMembership(person);
        Console.WriteLine(person.FirstName);
        Console.WriteLine(person.LastName);
        Console.WriteLine(person.Membership);
    }
}
public interface IMembershipManager
{
    void RegisterMembership(Person person);
    void CancelMembership(Person person);
    bool CheckMembership(Person person);
}

public class MembershipManager : IMembershipManager
{
    public void RegisterMembership(Person person) {
        person.Membership = true;
    }
    public void CancelMembership(Person person) {
        person.Membership = false;
    }

    public bool CheckMembership(Person person) {
        return person.Membership;
    }
}

public class Person
{
    public Person(string firstname, string lastname, bool membership)
    {
        FirstName = firstname;
        LastName = lastname;
        Membership = false;
    }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public bool Membership { get; set; }
}

public class Program{ 
    public static void Main()
    {
        Person person = new Person("John", "John", false);
        Console.WriteLine(person.FirstName);
        Console.WriteLine(person.LastName);
        Console.WriteLine(person.Membership);

        IMembershipManager membershipManager = new MembershipManager();
        membershipManager.RegisterMembership(person);
        Console.WriteLine(person.FirstName);
        Console.WriteLine(person.LastName);
        Console.WriteLine(person.Membership);
    }
}
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements
Next page

Similar Threads

Practicing basics of c#
C#CC# / help
3y ago
❔ Where would you recommend learning and practicing OOP in c# ?
C#CC# / help
3y ago
❔ Trouble practicing C#
C#CC# / help
3y ago
❔ OOP Event Handler implementation
C#CC# / help
4y ago