En klass är en specifikation av hur man konstruerar objekt från samma klass . Det är en typ av blåkopia eller prototyp från vilken enskilda objekt skapas. Vi kan säga att en klass är en mall som beskriver de typer av tillstånd och beteende som objekt av dess typ stöder.
I termer av objektorienterad programmering (OOP) kan vi säga att en Toyota-bil är en instans av den objektklass som kallas Car. En klass är som en ritning för en bil. Med hjälp av denna ritning kan du bygga hur många bilar som helst. Varje bil du bygger är ett objekt i klassen Car. Varje bil har naturligtvis också ett nummer. Om du vill berätta för någon vilken bil som är din bil ger du dem numret för att identifiera den. Detta nummer kallas Objekts referens .
Ett gränssnitt tillhandahåller ett kontrakt som specificerar hur man skapar ett Objekt, utan att bry sig om detaljerna i hur de gör sakerna. Ett gränssnitt är en referenstyp och innehåller endast abstrakta medlemmar såsom händelser, metoder, egenskaper etc. och har inga implementeringar för någon av sina medlemmar.
När en klass implementerar ett gränssnitt tvingas kompilatorn att skriva de metoder och egenskaper som gränssnittet har definierat. Det vill säga, om du implementerar ett gränssnitt i din klass måste du deklarera alla gränssnittets händelser, metoder och egenskaper i din klass. Ett gränssnitt kan endast ha abstrakta metoder och konstanter, som alltid implicit är offentliga, statiska och slutliga.
En klass har både en definition och en implementering, medan gränssnittet endast har en definition.
En klass kan instansieras, men inte ett gränssnitt.
Du kan skapa en instans av ett objekt som implementerar gränssnittet.
En klass är en fullständig entitet med medlemmar och metoder tillsammans med deras definition och implementering. Ett gränssnitt är bara en uppsättning definitioner som du måste implementera i din klass som ärver gränssnittet.