C#C
C#2y ago
Falco

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

c#
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);
    }
}
Was this page helpful?