Coding 101

Mar 13th 2014

Coding 101 8

Farewell to C#

This week we are reviewing objects, checking out your viewer submissions, and getting into classes and methods!

Although the show is no longer in production, you can enjoy episodes from the TWiT Archives.
Guests: Louis Maresca
Category: Help & How To

Welcome to Coding 101 - It's the TWiT show that gives YOU the knowledge to live in the wonderful world of the programmer. This week we are reviewing objects, checking out your viewer submissions, and getting into classes and methods!

Reviewing Objects and Viewer Submissions

Viewer Submissions!

Dean created this Bank ATM Emulator. Code is available here.

Joe created this background color changer using the WPF. Code is available here.

Dean created this RSS Handler for Coding 101. Code is available here.

Find the Code for ALL of our episodes HERE!

Ivory Tower

Classes/Methods

  • In the last episode we started talking about Object Oriented programing. I didn't want to overload us as we were just starting to talk about XAML, but now we're going to go back and show you how ALL of your code fits into the C# universe of Objects, Classes and Methods. A Class is a group of related Variables, Methods (Functions), and pretty much everything that we HAVEN'T talked about that are placed together to create the BLUEPRINT for an OBJECT. That class become a new type which you can create several instances of when needed.

My Sample Class

class PadreSaysHello { }

Now we need to populate that class "template" with members.

class PadreSaysHello {

public void PrintHello () {

Console.WriteLine ("Hello TWiT Army");

}

}

As we mentioned... this is only the TEMPLATE for an object. It will come into existence when we create it by using a keyword

PadreSaysHello TWiT = new PadreSaysHello ();

TWiT.PrintHello();

  • The first line CREATED a new object called "TWiT" based on the "PadreSaysHello" class.
  • The second line referenced the "PrintHello" function within the "TWiT" object and resulted in "Hello TWiT Army" being outputed to the console

Defining a Class

[attributes] [modifiers] class identifier [:base-type] { body[;] }

  • Attributes hold declarative data. It is optional.
  • Modifiers are listed below. It is optional, but will default to internal.
  • "Class Identifier" is the name of the "blueprint"
  • base-type may define any class other than System.Array, System.Delegate, System.MulticastDelegate, System.Enum or System.ValueType as the base class for this class. If a base class is not supplied, then the class will inherit from System.Object.
  • base-type may also specify the interfaces implemented by this class. The interfaces must be listed after the base class name (if specified) and must be separated by commas.
  • The body contains the member declarations.

Modifiers

  • abstract - the class is ONLY for inheritance - This cannot be turned into an instance
  • sealed - Nothing in this class can be inherited
  • static – verthing in this class is static
  • unsafe - Lets programers create UNSAFE constructes (pointers)
  • public - Everything in this class can be inherited
  • internal - All items in the current assembly can access this class.

Get in Touch With Us!

Download or subscribe to this show at https://twit.tv/shows/coding-101.

Bandwidth for Coding 101 is provided by CacheFly.