Jump to content

Programming Fundamentals/Object Examples CSharp

From Wikibooks, open books for an open world

Objects

[edit | edit source]
 // This program creates instances of the Temperature class to convert Celsius 
 // and Fahrenheit temperatures.
 //
 // References:
 //     https://www.mathsisfun.com/temperature-conversion.html
 //     https://en.wikibooks.org/wiki/C_Sharp_Programming
 
 using System;
 
 public class Objects  
 {
     public static void Main(String[] args)
     {
         Temperature temp1 = new Temperature(celsius: 0);
         Console.WriteLine("temp1.Celsius = " + temp1.Celsius.ToString());
         Console.WriteLine("temp1.Fahrenheit = " + temp1.Fahrenheit.ToString());
         Console.WriteLine("");
     
         temp1.Celsius = 100;
         Console.WriteLine("temp1.Celsius = " + temp1.Celsius.ToString());
         Console.WriteLine("temp1.Fahrenheit = " + temp1.Fahrenheit.ToString());
         Console.WriteLine("");
         
         Temperature temp2 = new Temperature(fahrenheit: 0);
         Console.WriteLine("temp2.Fahrenheit = " + temp2.Fahrenheit.ToString());
         Console.WriteLine("temp2.Celsius = " + temp2.Celsius.ToString());
         Console.WriteLine("");
     
         temp2.Fahrenheit = 100;
         Console.WriteLine("temp2.Fahrenheit = " + temp2.Fahrenheit.ToString());
         Console.WriteLine("temp2.Celsius = " + temp2.Celsius.ToString());
     }
 }
 
 // This class converts temperature between Celsius and Fahrenheit.
 // It may be used by assigning a value to either Celsius or Fahrenheit 
 // and then retrieving the other value, or by calling the ToCelsius or
 // ToFahrenheit methods directly.
 
 public class Temperature
 {
     double _celsius;
     double _fahrenheit;
 
     public double Celsius
     {
         get
         {
             return _celsius;
         }
         
         set
         {
             _celsius = value;
             _fahrenheit = ToFahrenheit(value);
         }
     }
     
     public double Fahrenheit
     {
         get
         {
             return _fahrenheit;
         }
         
         set
         {
             _fahrenheit = value;
             _celsius = ToCelsius(value);
         }
     }
     
     public Temperature(double? celsius = null, double? fahrenheit = null)
     {
         if (celsius.HasValue)
         {
             this.Celsius = Convert.ToDouble(celsius);
         }
         
         if (fahrenheit.HasValue)
         {
             this.Fahrenheit = Convert.ToDouble(fahrenheit);
         }
     }
 
     public double ToCelsius(double fahrenheit)
     {
         return (fahrenheit - 32) * 5 / 9;
     }
     
     public double ToFahrenheit(double celsius)
     {
         return celsius * 9 / 5 + 32;
     }
 }

Output

[edit | edit source]
temp1.Celsius = 0
temp1.Fahrenheit = 32

temp1.Celsius = 100
temp1.Fahrenheit = 212

temp2.Fahrenheit = 0
temp2.Celsius = -17.7777777777778

temp2.Fahrenheit = 100
temp2.Celsius = 37.7777777777778

References

[edit | edit source]