CSC439: Visual Programming: 9 Lecture (Constructor, Properties and Indexers)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

CSC439: Visual Programming

9th Lecture (Constructor, Properties and


Indexers)

Fall 2018

1 Lecture 9 - Constructor, Properties, Indexer


Properties
 Properties look like fields from the outside, but internally they contain logic, like
methods do
 A property is declared like a field, but with a get/set block added.
 get and set denote property accessors.

 Here’s how to implement CurrentPrice as a property


 public class Stock
{
decimal currentPrice; // The private "backing" field
public decimal CurrentPrice // The public property
{
get { return currentPrice; }
set { currentPrice = value; }
}
}

Stock msft = new Stock();


msft.CurrentPrice = 30;
Console.WriteLine (msft.CurrentPrice);

2 Lecture 9 - Constructor, Properties, Indexer


Properties
 The get accessor runs when the property is
read. It must return a value of the property’s type.
 The set accessor runs when the
property is assigned. It has an implicit parameter named
value of the property’s type that is typically assigned to a
private field

3 Lecture 9 - Constructor, Properties, Indexer


Indexer
 Indexers provide a natural syntax for accessing elements
in a class that encapsulate a list or dictionary of values.
 Indexers are similar to properties, but are accessed via an
index argument rather than a property name.
 The string class has an indexer that lets you access each
of its char values via an int index:
string s = "hello";
Console.WriteLine (s[0]); // 'h'
Console.WriteLine (s[3]); // 'l'

4 Lecture 9 - Constructor, Properties, Indexer


Indexer
 General form
 element-type this[int index] {
// The get accessor
get {
// return the value specified by index
}
// The set accessor
set {
// set the value specified by index
}
}

5 Lecture 9 - Constructor, Properties, Indexer


Indexer Example
class Customer }
{
private string[] address =new class Program
string[] { "Uttara", “Mirpur“, {
“Nikunjo” };
static void Main(string[] args)
{
public string this[int index]
Customer a = new
{ Customer();
set { address[index] = a[1] = "HB";
value; }
Console.WriteLine(a[1]);
get { return
}
address[index]; }
}
}

6 Lecture 9 - Constructor, Properties, Indexer


Constructor
 A constructor initializes an object when it is created.
 It has the same name as its class and is syntactically
similar to a method.
 However, constructors have no explicit return type.
 The general form of a constructor is shown here:

access class-name(param-list) {
// constructor code
}

7 Lecture 9 - Constructor, Properties, Indexer


Constructor Example
 public class Panda
{
string name; // Define field
public Panda (string n) // Define constructor
{
name = n; // Initialization code (set up field)
}
}
...
Panda p = new Panda ("Petey"); // Call constructor

8 Lecture 9 - Constructor, Properties, Indexer


Exercise
 Write a program having a class Student that
demonstrates the uses of properties, indexers and
constructor.

9 Lecture 9 - Constructor, Properties, Indexer

You might also like