Visula C# Programming Lecture 8


Published on

Lecture 8

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Visula C# Programming Lecture 8

  1. 1. Get set property class Thought { private int a; public int xy { get { return a; } set { a = value; } } } class Program { static void Main( string[] args ){ Thought t = new Thought(); t.xy = 23; Console.WriteLine("value=“+t.xy); Console.ReadLine(); } }
  2. 2. Abstract Class Motivation: if you think no object of a class should be created, declare the class abstract In general, an abstract class is a placeholder in a class hierarchy that represents a generic concept The use of abstract classes is a design decision; it helps us establish common elements in a class that is too general to instantiate Vehicle Car Boat Plane 2
  3. 3. Abstract Classes: Syntax Use the modifier abstract on a class header to declare an abstract class, e.g., abstract class Vehicle { // … public abstract void Move(); } class Car : Vehicle { //… public void Move() { Console.WriteLine( “Car is moving!” ); } } abstract class StaffMember { // … public abstract double Pay(); } 3
  4. 4. Abstract Class: Some Properties An abstract class cannot be instantiated but you can define a reference of an abstract class Only abstract classes can contain abstract methods The child of an abstract class must override the abstract methods of the parent, or it too must be declared abstract 4
  5. 5. C# Contains Many Other Features to Further Refine the Definition of a Class Sealed class or method if you declare a class or method sealed, then the class or method cannot be extended Operator overloading you can define operators for a class so that operations look more like a normal arithmetic operation 5
  6. 6. Using Interface for Multiple Inheritance Java/C# decision: single inheritance, meaning that a derived class can have only one parent class To take the advantages of multiple inheritance, Java/C# defines interfaces, which give us the best aspects of multiple inheritance without the complexity 6
  7. 7. C# Interface A C# interface is a collection of methods, and properties it can actually include other types of definitions These methods and properties have no implementation An interface is used to formally define a set of methods that a class will implement An interface captures one aspect of a class If class D is derived from class B, then you should feel comfortable in saying an object of D is also a B If class D implements interface I, then you should feel comfortable in saying an object of D has I perspective 7
  8. 8. Interfaces: Syntax interface is a reserved word public interface IComplexity { int Level { get; set; } } public interface IDisplayAble { void Paint(); } // inherits Question, implements two interfaces class MultiChoice: Question, IComplexity, IDisplayAble { public void Paint() {...} public int Level {...} public string GetQuestionPart() {} public string GetAnswerPart() {} } 8
  9. 9. Interfaces Methods in an interface have public visibility by default An interface cannot be instantiated A class implements an interface by stating so in the class header after : A class can implement multiple interfaces: the interfaces are separated by commas If a class asserts that it implements an interface, it must define all methods in the interface or the compiler will produce errors A class that implements an interface can implement other methods as well 9
  10. 10. Polymorphism via Interfaces An interface name can be used as the type of an object reference variable IDoable obj; The obj reference can be used to point to any object of any class that implements the IDoable interface The version of doThis that the following line invokes depends on the type of object that obj is referring to: obj.doThis(); 10
  11. 11. An Example ISpeak guest; guest = new Professor(); guest.Speak(); guest = Dog(); guest.Speak(); ISpeak special; special = new Professor(); special.Pontificate(); // compiler error ISpeak special; special = new Professor(); ((Professor)special).Pontificate(); public interface ISpeak { public void Speak(); } class Faculty {…} class Professor: Faculty, ISpeak { // public void Speak() {…} public void Pontificate() {…} } class Animal {} class Dog: Animal, ISpeak { // public void Speak() { … } } 11
  12. 12. Exception Handing Exception handling is an in built mechanism in .NET framework to detect and handle run time errors. The .NET framework contains lots of standard exceptions. The exceptions are anomalies that occur during the execution of a program. They can be because of user, logic or system errors. 12
  13. 13. Exception Handing If a user (programmer) do not provide a mechanism to handle these anomalies, the .NET run time environment provide a default mechanism, which terminates the program execution.   13
  14. 14. Syntax C# provides three keywords try, catch and finally to do exception handling. try { // Statement which can cause an exception. } catch(Type x) { // Statements for handling the exception } finally { //Any cleanup code }  14
  15. 15. Uncaught Exception using System; class MyClient { public static void Main() { int x = 0; int div = 100/x; Console.WriteLine(div); } }  15
  16. 16. Exception handled class MyClient { public static void Main() { int x = 0; int div = 0; try { div = 100/x; Console.WriteLine("This line in not executed"); } catch(DivideByZeroException de){ Console.WriteLine("Exception occured"); } finally{ Console.WriteLine("Finally Block"); } }}  Console.WriteLine("Result is {0}",div); 16
  17. 17. Catching all Exception using System; class MyClient { public static void Main() { int x = 0; int div = 0; try { div = 100/x; Console.WriteLine("Not executed line"); } catch { Console.WriteLine("oException" ); } Console.WriteLine("Result is {0}",div); } } 17
  18. 18. Standard Exceptions System.OutOfMemoryException System.NullReferenceException Syste.InvalidCastException Syste.ArrayTypeMismatchException System.IndexOutOfRangeException          System.ArithmeticException System.DevideByZeroException System.OverFlowException  18
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.