Can you rewrite the article below with different words and use a different coding example?

What is the difference between an interface and an abstract class?
An interface is a contract defining a set of methods and properties a class must implement. An interface cannot contain implementation details and describes specific behavior that a class must have. For example:

public interface IShape
{
    int GetArea();
}
On the other hand, an abstract class partially implements a class and can contain both abstract and non-abstract members. And can define a standard implementation for its derived classes to inherit and use, but a class can inherit from only one abstract class. For example:

public abstract class NAME_1
{
    public int Width { get; set; }
    public int Height { get; set; }

    public void DisplayDimensions()
    {
        Console.WriteLine("Width: " + Width + ", Height: " + Height);
    }

    public abstract double GetArea();
}

public class Rectangle : NAME_1
{
    public override double GetArea()
    {
        return Width * Height;
    }
}
In this example, the NAME_1 is an abstract class that defines the properties Width and Height. It also has a non-abstract method called DisplayDimensions() which simply displays the values of the Width Height properties.

The NAME_1 also has an abstract method called GetArea() which does not have an implementation. The GetArea() is declared abstract because the formula to calculate the area of a NAME_1 will be different for different types of shapes (e.g., rectang