using System; using System.Collections.Generic; using System.Text; public class MyResourceWrapper { ~MyResourceWrapper() { Console.Beep(); } } class Program { static void Main(string[] args) { MyResourceWrapper rw = new MyResourceWrapper(); } }
Class Interface
Finalizable Disposable Class
using System;
using System.Collections.Generic;
using System.Text;
class Program {
static void Main(string[] args) {
using (MyResourceWrapper rw = new MyResourceWrapper()) {
}
MyResourceWrapper rw2 = new MyResourceWrapper();
for (int i = 0; i < 10; i++)
rw2.Dispose();
}
}
public class MyResourceWrapper : IDisposable {
public void Dispose() {
Console.WriteLine("In Dispose() method!");
}
}
[/csharp]
C# Class Constructor Overloading
public Overloading { public static void Main() { Point myPoint = new Point(10, 15); Point mySecondPoint = new Point(myPoint); } } class Point { // create a new point from x and y values public Point(int x, int y) { this.x = x; this.y = y; } // create a point from an existing point public Point(Point p) { this.x = p.x; this.y = p.y; } int x; int y; }
Add a constructor to Building
/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Add a constructor to Building. using System; class Building { public int floors; // number of floors public int area; // total square footage of building public int occupants; // number of occupants public Building(int f, int a, int o) { floors = f; area = a; occupants = o; } // Display the area per person. public int areaPerPerson() { return area / occupants; } /* Return the maximum number of occupants if each is to have at least the specified minum area. */ public int maxOccupant(int minArea) { return area / minArea; } } // Use the parameterized Building constructor. public class BuildingDemo21 { public static void Main() { Building house = new Building(2, 2500, 4); Building office = new Building(3, 4200, 25); Console.WriteLine("Maximum occupants for house if each has " + 300 + " square feet: " + house.maxOccupant(300)); Console.WriteLine("Maximum occupants for office if each has " + 300 + " square feet: " + office.maxOccupant(300)); } }
A parameterized constructor
/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // A parameterized constructor. using System; class MyClass { public int x; public MyClass(int i) { x = i; } } public class ParmConsDemo { public static void Main() { MyClass t1 = new MyClass(10); MyClass t2 = new MyClass(88); Console.WriteLine(t1.x + " " + t2.x); } }
A simple constructor
/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // A simple constructor. using System; class MyClass { public int x; public MyClass() { x = 10; } } public class ConsDemo1 { public static void Main() { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(); Console.WriteLine(t1.x + " " + t2.x); } }
Illustrates a copy constructor
/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example5_13.cs illustrates a copy constructor */ // declare the Car class class Car { // declare the fields private string make; private string model; private string color; private int yearBuilt; // define the copy constructor public Car(Car car) { this.make = car.make; this.model = car.model; this.color = car.color; this.yearBuilt = car.yearBuilt; } public Car(string make, string model, string color, int yearBuilt) { this.make = make; this.model = model; this.color = color; this.yearBuilt = yearBuilt; } // define method to display the fields public void Display() { System.Console.WriteLine("make = " + make); System.Console.WriteLine("model = " + model); System.Console.WriteLine("color = " + color); System.Console.WriteLine("yearBuilt = " + yearBuilt); } } public class Example5_13 { public static void Main() { // create a Car object Car myCar = new Car("Toyota", "MR2", "black", 1995); // create a copy of this Car object Car carCopy = new Car(myCar); // display the values for the Car object's fields System.Console.WriteLine("myCar details:"); myCar.Display(); System.Console.WriteLine("carCopy details:"); carCopy.Display(); } }