summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--csharp.html.markdown32
1 files changed, 31 insertions, 1 deletions
diff --git a/csharp.html.markdown b/csharp.html.markdown
index 0012fcb3..55de415d 100644
--- a/csharp.html.markdown
+++ b/csharp.html.markdown
@@ -557,6 +557,36 @@ namespace Learning
return reuslt;
}
}
+
+ // Interfaces only contain signatures of the members, without the implementation.
+ interface IJumpable
+ {
+ void Jump(int meters); // all interface members are implicitly public
+ }
+
+ interface IBreakable
+ {
+ bool Broken { get; } // interfaces can contain properties as well as methods, fields & events
+ }
+
+ // Class can inherit only one other class, but can implement any amount of interfaces
+ class MountainBike : Bicycle, IJumpable, IBreakable
+ {
+ int damage = 0;
+
+ public void Jump(int meters)
+ {
+ damage += meters;
+ }
+
+ public void Broken
+ {
+ get
+ {
+ return damage > 100;
+ }
+ }
+ }
} // End Namespace
```
@@ -567,7 +597,7 @@ namespace Learning
* Attributes
* Generics (T), Delegates, Func, Actions, lambda expressions
* Static properties
- * Exceptions, Interfaces, Abstraction
+ * Exceptions, Abstraction
* LINQ
* ASP.NET (Web Forms/MVC/WebMatrix)
* Winforms