<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FClass%2FClass_Definition</id>
		<title>Csharp/CSharp Tutorial/Class/Class Definition - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FClass%2FClass_Definition"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Definition&amp;action=history"/>
		<updated>2026-04-29T16:11:08Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Definition&amp;diff=5647&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Definition&amp;diff=5647&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Definition&amp;diff=5648&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Definition&amp;diff=5648&amp;oldid=prev"/>
				<updated>2010-05-26T12:16:06Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A simple, but complete, C# class.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
class MainClass {&lt;br /&gt;
    MainClass() {&lt;br /&gt;
        Console.WriteLine(&amp;quot;MainClass Constructor Called&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    ~MainClass() {&lt;br /&gt;
        Console.WriteLine(&amp;quot;MainClass Destructor Called&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    void PrintAMessage(string msg) {&lt;br /&gt;
        Console.WriteLine(&amp;quot;PrintAMessage: {0}&amp;quot;, msg);&lt;br /&gt;
    }&lt;br /&gt;
    void Dispose() {&lt;br /&gt;
        GC.SuppressFinalize(this);&lt;br /&gt;
    }&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        Console.WriteLine(&amp;quot;Top of function main&amp;quot;);&lt;br /&gt;
        MainClass app = new MainClass();&lt;br /&gt;
        app.PrintAMessage(&amp;quot;Hello from class&amp;quot;);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Bottom of function main&amp;quot;);&lt;br /&gt;
        app.Dispose();&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Simple Class showing class definition syntax==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;class MyClass&lt;br /&gt;
{&lt;br /&gt;
    int simpleValue = 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Simple Class with member fields and constrctor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
class Point&lt;br /&gt;
{&lt;br /&gt;
    // constructor&lt;br /&gt;
    public Point(int x, int y)&lt;br /&gt;
    {&lt;br /&gt;
        this.x = x;&lt;br /&gt;
        this.y = y;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // member fields&lt;br /&gt;
    public int x;&lt;br /&gt;
    public int y;&lt;br /&gt;
}&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Point myPoint = new Point(10, 15);&lt;br /&gt;
        Console.WriteLine(&amp;quot;myPoint.x {0}&amp;quot;, myPoint.x);&lt;br /&gt;
        Console.WriteLine(&amp;quot;myPoint.y {0}&amp;quot;, myPoint.y);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;myPoint.x 10&lt;br /&gt;
myPoint.y 15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==C# Accessibility Keywords==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;C# Access Modifier                       Meaning&lt;br /&gt;
public                                   Marks a member as accessible from an object variable and derived classes.&lt;br /&gt;
private                                  Marks a method as accessible only by the class that has defined the method. &lt;br /&gt;
                                         In C#, all members are private by default.&lt;br /&gt;
protected                                Marks a method as usable by the defining class, and any derived classes. &lt;br /&gt;
                                         Protected methods are not accessible from an object variable.&lt;br /&gt;
internal                                 Defines a method that is accessible by any type in the same assembly, but not outside the assembly.&lt;br /&gt;
protected internal                       Defines a method whose access is limited to the current assembly or types derived from the defining class in the current assembly.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Class can contain class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
public class Car &lt;br /&gt;
{&lt;br /&gt;
  private int maxSpeed;&lt;br /&gt;
  private Radio theMusicBox = new Radio();&lt;br /&gt;
  public Car()&lt;br /&gt;
  {&lt;br /&gt;
    maxSpeed = 100;&lt;br /&gt;
  }&lt;br /&gt;
  public void SwitchRadio(bool state)&lt;br /&gt;
  {&lt;br /&gt;
    theMusicBox.TurnOn(state);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class Radio&lt;br /&gt;
{&lt;br /&gt;
  public void TurnOn(bool on)&lt;br /&gt;
  {&lt;br /&gt;
    if(on)&lt;br /&gt;
      Console.WriteLine(&amp;quot;ON...&amp;quot;);&lt;br /&gt;
    else&lt;br /&gt;
      Console.WriteLine(&amp;quot;OFF...&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
  public static void Main(string[] args)&lt;br /&gt;
  {    &lt;br /&gt;
    // Make a car.&lt;br /&gt;
    Car c1 = new Car();&lt;br /&gt;
    c1.SwitchRadio(true);&lt;br /&gt;
    c1.SwitchRadio(false);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;ON...&lt;br /&gt;
OFF...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Class Fundamentals==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;A class is a template that defines the form of an object.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;A class specifies both the data and the code that will operate on that data.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Objects are instances of a class.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;The methods and variables that constitute a class are called members of the class.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
7.1.Class Definition&lt;br /&gt;
7.1.1.&lt;br /&gt;
Class Fundamentals&lt;br /&gt;
7.1.2.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/TheGeneralFormofaClass.htm&amp;quot;&amp;gt;The General Form of a Class&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.3.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/ASimpleClassshowingclassdefinitionsyntax.htm&amp;quot;&amp;gt;A Simple Class showing class definition syntax&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.4.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/AsimplebutcompleteCclass.htm&amp;quot;&amp;gt;A simple, but complete, C# class.&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.5.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/ASimpleClasswithmemberfieldsandconstrctor.htm&amp;quot;&amp;gt;A Simple Class with member fields and constrctor&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.6.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/DeclareanobjectoftypeBuilding.htm&amp;quot;&amp;gt;Declare an object of type Building&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.7.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Createtwoobjectsforoneclass.htm&amp;quot;&amp;gt;Create two objects for one class&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.8.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Copyaclass.htm&amp;quot;&amp;gt;Copy a class&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.9.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Encapsulationexample.htm&amp;quot;&amp;gt;Encapsulation example&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.10.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Classcancontainclass.htm&amp;quot;&amp;gt;Class can contain class&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.11.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Inheritedmembermethodsandfields.htm&amp;quot;&amp;gt;Inherited member methods and fields&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.12.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/ReferencetoBaseClass.htm&amp;quot;&amp;gt;Reference to Base Class&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.13.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Implementmultipleinterfaces.htm&amp;quot;&amp;gt;Implement multiple interfaces&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.14.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Extendsclassandimplementsinterface.htm&amp;quot;&amp;gt;Extends class and implements interface&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.15.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/CAccessibilityKeywords.htm&amp;quot;&amp;gt;C# Accessibility Keywords&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.16.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/Themodifierscanbeappliedtomembersoftypesandhavevarioususes.htm&amp;quot;&amp;gt;The modifiers can be applied to members of types, and have various uses.&amp;lt;/a&amp;gt;&lt;br /&gt;
7.1.17.&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Tutorial/CSharp/0140__Class/ValueTypesclassvsstruct.htm&amp;quot;&amp;gt;Value Types: class vs struct&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Copy a class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System; &lt;br /&gt;
 &lt;br /&gt;
class MyClass { &lt;br /&gt;
  public int x; &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
class MainClass { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    MyClass a = new MyClass(); &lt;br /&gt;
    MyClass b = new MyClass(); &lt;br /&gt;
 &lt;br /&gt;
    a.x = 10; &lt;br /&gt;
    b.x = 20; &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;a.x {0}, b.x {1}&amp;quot;, a.x, b.x); &lt;br /&gt;
 &lt;br /&gt;
    a = b; &lt;br /&gt;
    b.x = 30; &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;a.x {0}, b.x {1}&amp;quot;, a.x, b.x); &lt;br /&gt;
  } &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;a.x 10, b.x 20&lt;br /&gt;
a.x 30, b.x 30&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create two objects for one class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;  &lt;br /&gt;
  &lt;br /&gt;
class Building {   &lt;br /&gt;
  public int area;      &lt;br /&gt;
  public int occupants; &lt;br /&gt;
}   &lt;br /&gt;
   &lt;br /&gt;
class BuildingDemo {   &lt;br /&gt;
  public static void Main() {   &lt;br /&gt;
    Building house = new Building();   &lt;br /&gt;
    Building office = new Building(); &lt;br /&gt;
 &lt;br /&gt;
    int areaPP; // area per person &lt;br /&gt;
   &lt;br /&gt;
    house.occupants = 4;  &lt;br /&gt;
    house.area = 2500;  &lt;br /&gt;
 &lt;br /&gt;
    office.occupants = 25;  &lt;br /&gt;
    office.area = 4200;  &lt;br /&gt;
   &lt;br /&gt;
    areaPP = house.area / house.occupants;  &lt;br /&gt;
   &lt;br /&gt;
    Console.WriteLine(&amp;quot;house has:\n  &amp;quot; + &lt;br /&gt;
                      house.occupants + &amp;quot; occupants\n  &amp;quot; + &lt;br /&gt;
                      house.area + &amp;quot; total area\n  &amp;quot; + &lt;br /&gt;
                      areaPP + &amp;quot; area per person&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(); &lt;br /&gt;
 &lt;br /&gt;
    areaPP = office.area / office.occupants;  &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;office has:\n  &amp;quot; + &lt;br /&gt;
                      office.occupants + &amp;quot; occupants\n  &amp;quot; + &lt;br /&gt;
                      office.area + &amp;quot; total area\n  &amp;quot; + &lt;br /&gt;
                      areaPP + &amp;quot; area per person&amp;quot;); &lt;br /&gt;
  }   &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;house has:&lt;br /&gt;
  4 occupants&lt;br /&gt;
  2500 total area&lt;br /&gt;
  625 area per person&lt;br /&gt;
office has:&lt;br /&gt;
  25 occupants&lt;br /&gt;
  4200 total area&lt;br /&gt;
  168 area per person&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Declare an object of type Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;  &lt;br /&gt;
  &lt;br /&gt;
class Building {   &lt;br /&gt;
  public int floors;    &lt;br /&gt;
  public int area;      &lt;br /&gt;
  public int occupants; &lt;br /&gt;
}   &lt;br /&gt;
   &lt;br /&gt;
class BuildingDemo {   &lt;br /&gt;
  public static void Main() {   &lt;br /&gt;
    Building house = new Building(); // create a Building object &lt;br /&gt;
    int areaPP; &lt;br /&gt;
   &lt;br /&gt;
    house.occupants = 4;  &lt;br /&gt;
    house.area = 2500;  &lt;br /&gt;
    house.floors = 2;  &lt;br /&gt;
   &lt;br /&gt;
    areaPP = house.area / house.occupants;  &lt;br /&gt;
   &lt;br /&gt;
    Console.WriteLine(&amp;quot;house has:\n  &amp;quot; + &lt;br /&gt;
                      house.floors + &amp;quot; floors\n  &amp;quot; + &lt;br /&gt;
                      house.occupants + &amp;quot; occupants\n  &amp;quot; + &lt;br /&gt;
                      house.area + &amp;quot; total area\n  &amp;quot; + &lt;br /&gt;
                      areaPP + &amp;quot; area per person&amp;quot;); &lt;br /&gt;
  }   &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;house has:&lt;br /&gt;
  2 floors&lt;br /&gt;
  4 occupants&lt;br /&gt;
  2500 total area&lt;br /&gt;
  625 area per person&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Encapsulation example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;class MyRectangle&lt;br /&gt;
{&lt;br /&gt;
   private uint width;&lt;br /&gt;
   private uint height;&lt;br /&gt;
   private uint area;&lt;br /&gt;
   public uint Width&lt;br /&gt;
   {&lt;br /&gt;
      get&lt;br /&gt;
      {&lt;br /&gt;
         return width;&lt;br /&gt;
      }&lt;br /&gt;
      set&lt;br /&gt;
      {&lt;br /&gt;
         width = value;&lt;br /&gt;
         ComputeArea();&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   public uint Height&lt;br /&gt;
   {&lt;br /&gt;
      get&lt;br /&gt;
      {&lt;br /&gt;
         return height;&lt;br /&gt;
      }&lt;br /&gt;
      set&lt;br /&gt;
      {&lt;br /&gt;
         height = value;&lt;br /&gt;
         ComputeArea();&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   public uint Area&lt;br /&gt;
   {&lt;br /&gt;
      get&lt;br /&gt;
      {&lt;br /&gt;
         return area;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   private void ComputeArea()&lt;br /&gt;
   {&lt;br /&gt;
      area = width * height;&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Extends class and implements interface==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
interface Talkable&lt;br /&gt;
{&lt;br /&gt;
   string Table();&lt;br /&gt;
}&lt;br /&gt;
class Animal { }&lt;br /&gt;
class Cat : Animal, Talkable&lt;br /&gt;
{&lt;br /&gt;
   string Talkable.Table() { &lt;br /&gt;
       return &amp;quot;miao&amp;quot;; &lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class Dog : Animal, Talkable&lt;br /&gt;
{&lt;br /&gt;
   string Talkable.Table(){ &lt;br /&gt;
      return &amp;quot;bulk&amp;quot;; &lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class Elephant : Animal&lt;br /&gt;
{&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
   static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      Animal[] AnimalArray = new Animal[3];&lt;br /&gt;
      AnimalArray[0] = new Cat();&lt;br /&gt;
      AnimalArray[1] = new Elephant();&lt;br /&gt;
      AnimalArray[2] = new Dog();&lt;br /&gt;
      foreach (Animal a in AnimalArray)&lt;br /&gt;
      {&lt;br /&gt;
         Talkable b = a as Talkable;&lt;br /&gt;
         if (b != null)&lt;br /&gt;
            Console.WriteLine(&amp;quot;Baby is called: {0}&amp;quot;, b.Table());&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Baby is called: miao&lt;br /&gt;
Baby is called: bulk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implement multiple interfaces==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
interface Getter { &lt;br /&gt;
    int GetData(); &lt;br /&gt;
}      &lt;br /&gt;
interface Setter { &lt;br /&gt;
    void SetData(int x); &lt;br /&gt;
}   &lt;br /&gt;
class MyData : Getter, Setter        &lt;br /&gt;
{&lt;br /&gt;
   int data; &lt;br /&gt;
   public int GetData() { &lt;br /&gt;
       return data; &lt;br /&gt;
   }&lt;br /&gt;
   public void SetData(int x) { &lt;br /&gt;
       data = x; &lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
   static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      MyData data = new MyData();&lt;br /&gt;
      data.SetData(5);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Value = {0}&amp;quot;, data.GetData());&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Value = 5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Inherited member methods and fields==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
class BaseClass                           &lt;br /&gt;
{&lt;br /&gt;
   public string Field1 = &amp;quot;base class field&amp;quot;;&lt;br /&gt;
   public void Method1(string value)&lt;br /&gt;
   {&lt;br /&gt;
      Console.WriteLine(&amp;quot;Base class    -- Method1: {0}&amp;quot;, value);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class DerivedClass : BaseClass            &lt;br /&gt;
{&lt;br /&gt;
   public string Field2 = &amp;quot;derived class field&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
   public void Method2(string value)&lt;br /&gt;
   {&lt;br /&gt;
      Console.WriteLine(&amp;quot;Derived class -- Method2: {0}&amp;quot;, value);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
   static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      DerivedClass oc = new DerivedClass();&lt;br /&gt;
      oc.Method1(oc.Field1);               // Base method with base field&lt;br /&gt;
      oc.Method1(oc.Field2);               // Base method with derived field&lt;br /&gt;
      oc.Method2(oc.Field1);               // Derived method with base field&lt;br /&gt;
      oc.Method2(oc.Field2);               // Derived method with derived field&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Base class    -- Method1: base class field&lt;br /&gt;
Base class    -- Method1: derived class field&lt;br /&gt;
Derived class -- Method2: base class field&lt;br /&gt;
Derived class -- Method2: derived class field&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference to Base Class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
class BaseClass&lt;br /&gt;
{&lt;br /&gt;
   public void Print()&lt;br /&gt;
   {&lt;br /&gt;
      Console.WriteLine(&amp;quot;This is the base class.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class DerivedClass : BaseClass&lt;br /&gt;
{&lt;br /&gt;
   new public void Print()&lt;br /&gt;
   {&lt;br /&gt;
      Console.WriteLine(&amp;quot;This is the derived class.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
   static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      DerivedClass derived = new DerivedClass();&lt;br /&gt;
      BaseClass mybc = (BaseClass)derived;&lt;br /&gt;
      derived.Print();       &lt;br /&gt;
      mybc.Print();          &lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;This is the derived class.&lt;br /&gt;
This is the base class.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The General Form of a Class==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A class is created by use of the keyword class.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The general form of a class definition that contains only instance variables and methods:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;class classname {&lt;br /&gt;
    // declare instance variables&lt;br /&gt;
    access type var1;&lt;br /&gt;
    access type var2;&lt;br /&gt;
    // ...&lt;br /&gt;
    access type varN;&lt;br /&gt;
    &lt;br /&gt;
    // declare methods&lt;br /&gt;
    access ret-type method1(parameters) {&lt;br /&gt;
        // body of method&lt;br /&gt;
    }&lt;br /&gt;
    access ret-type method2(parameters) {&lt;br /&gt;
        // body of method&lt;br /&gt;
    }&lt;br /&gt;
    // ...&lt;br /&gt;
    access ret-type methodN(parameters) {&lt;br /&gt;
        // body of method&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The modifiers can be applied to members of types, and have various uses.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;Modifier           Applies To                                       Description&lt;br /&gt;
new                Function members                                 hides an inherited member with the same signature.&lt;br /&gt;
static             All members                                      does not operate on a specific instance of the class.&lt;br /&gt;
virtual            Classes and function members only                can be overridden by a derived class.&lt;br /&gt;
abstract           Function members only                            A virtual member that defines the signature of the member, but doesn&amp;quot;t provide an implementation.&lt;br /&gt;
override           Function members only                            overrides an inherited virtual or abstract member.&lt;br /&gt;
sealed             Classes                                          overrides an inherited virtual member, but cannot be overridden by any classes that inherit from this class.&lt;br /&gt;
extern             static [DllImport] methods only                  implemented externally, in a different language.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Value Types: class vs struct==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
    class EntryPoint&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            TemperatureStruct ts = new TemperatureStruct();&lt;br /&gt;
            TemperatureStruct tp = new TemperatureStruct();&lt;br /&gt;
            TemperatureClass tc = new TemperatureClass();&lt;br /&gt;
            Console.Write( &amp;quot;Enter degrees in Celsius: &amp;quot; );&lt;br /&gt;
            string celsius = Console.ReadLine();&lt;br /&gt;
            ts.Celsius = Convert.ToDouble(celsius);&lt;br /&gt;
            &lt;br /&gt;
            Console.WriteLine( &amp;quot;Temperature in Fahrenheit = {0}&amp;quot;, ts.Fahrenheit );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    class TemperatureClass&lt;br /&gt;
    {&lt;br /&gt;
        private double degreesCelsius;&lt;br /&gt;
        public double Fahrenheit&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return ((9d/5d)*degreesCelsius)+32;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                degreesCelsius = (5d/9d)*(value-32);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        public double Celsius&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return degreesCelsius;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                degreesCelsius = value;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    struct TemperatureStruct&lt;br /&gt;
    {&lt;br /&gt;
        public double Celsius;&lt;br /&gt;
        &lt;br /&gt;
        public double Fahrenheit&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return ((9d/5d)*Celsius)+32;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                Celsius = (5d/9d)*(value-32);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>