Swift protocol extensions versus C# abstract classes

The only way I can use Windows is if you pay me. A lot. I write C# during the day, and its decent. (Just dont get me talking about System.Collections.ObjectModel.ReadOnlyCollection<T>!)

In C# you write:

public abstract class Thing {
    public string Name { get; }
    public abstract string Value { get; set; }
}

In Swift 2.1 you write:

protocol Thing {
    value { get; set; }
}
extension Thing {
    public string Name { get; }
}

See more at this Apple Developer Conference video: Protocol-Oriented Programming in Swift - WWDC 2015