Schedule

Schedule

Saturday, April 25

1429984800 The Tech Guy

Sunday, April 26

1430071200 The Tech Guy
1430085600 This Week in Tech

Monday, April 27

1430154000 Tech News Today
1430157600 Triangulation
1430163000 iPad Today
1430170200 Coding 101
1430175600 Tech News 2Night

Tuesday, April 28

1430240400 Tech News Today
1430244000 MacBreak Weekly
1430253000 Security Now
1430262000 Tech News 2Night
1430265600 All About Android

Wednesday, April 29

1430321400 FLOSS Weekly
1430326800 Tech News Today
1430330400 Windows Weekly
1430337600 This Week in Google
1430348400 Tech News 2Night
1430350200 Android App Arena
1430355600 Ham Nation

Thursday, April 30

1430413200 Tech News Today
1430416800 Know How...
1430422200 Marketing Mavericks
1430427600 Home Theater Geeks
1430434800 Tech News 2Night
1430436600 The Giz Wiz

Friday, May 1

1430499600 Tech News Today
1430503200 This Week in Law
1430514000 Before You Buy
1430521200 Tech News 2Night

Saturday, May 2

1430589600 The Tech Guy

Sunday, May 3

1430676000 The Tech Guy
1430690400 This Week in Tech

Monday, May 4

1430758800 Tech News Today
1430762400 Triangulation
1430767800 iPad Today
1430775000 Coding 101
1430780400 Tech News 2Night

Most Recent Episodes

Tech News 2Night

Quick tips for feeling better about your facebook usage.

Before You Buy

Leo Laporte unboxes the Apple Watch.

This Week in Enterprise Tech

Facebook vs. Spammers and Twitter vs. Trolls.

This Week in Law

Katy Perry's attempt to trademark the design of "Left Shark" is rejected.

Tech News Today

We'll show you how waterproof the Apple Watch really is...

This Week in Computer Hardware

Google Fi, Intel Compute Stick, and more.

The Giz Wiz

gizwiz.tv

Home Theater Geeks

Pete Putman and display interfaces.

Tech News 2Night

One geek artist prefers Samsung to Apple

Know How...

Fastest production motorcycle goes 218mph, and it's electric.

Coding 101 31

C# Objects and Classes

August 21 2014

Hosts: Fr. Robert Ballecer, SJ and Shannon Morse

Snubs Compiled
Microsoft Visual Studio Express 13 Windows

MonoDeveloper OSX

Ivory Tower
Way back in Episode 6 of the first module of Coding 101, we talked a little about "Object Oriented Programming"
* OOP is an approach to programming that divides the process -- the "problem solving" of a program into modular, reusable pieces.

Before OOP, you wrote your program, then you considered how data might be processed by your code.
* In OOP, you don't think of data seperate from code -- instead, you think of "Objects" which combine code and data. --
** You wrote your code, which then processed data
** OOP unified the two: instead of having data and code, you have a "object" that combines the two.
** Instead of having pieces of code that handle sets of data, you now have OBJECTS that model In-Real-Life logic with In-Real-Life sets of data.

In other words... you code problem-solving, instead of process -- It was a huge jump.
*** Easier to Understand
*** Easier to Maintain
*** Easier to Upgrade

Now let's talk about CLASSES and OBJECTS
* Back in Module 1, we talked about coding functions or "methods"

For Example
"public int answer(int a, int b)
{

int c = a + b;
return c;

}"
** This will create a public function called "answer" that will accept two variables and return an integer value when called.
** We would call this function by writing:
answer(1,2)
** and it would return:
3

That function or "method" combines variables and code that processes those variables

A CLASS combines multiple "methods" and variables.
* A "class" is a blue print that can be created multiple times.
* When the blue print is used to create -- it creates an "OBJECT of that class
* We can create as many objects of a class, and when we're done with it, it's removed from memory.

IMPORTANT!!! --- Don't Interchange "Class" and "Object"
-- A Class is NOT an Object
-- A Class is the blueprint from which an Object is created.
-- A Class DEFINES an object, but it is not an object itself (Can I repeat the same thing more times?)
-- An OBJECT is NOT a class
-- An object is an INSTANCE of a class (based on that "blue print")
-- An object exists in memory ... a class does not (i.e. a class is not "real" until it is used to create an object of that class.)

Defining a Class is easy:
"public class C101
{
//Fields, methods, properties, events... everything in the ""blue print"" goes in here
}"

Creating an OBJECT of a class:
* We use the keyword "new" to create an instance of a class (aka an "object")
* In our example, we've created a class named "C101"
-- If we wanted to create an instance of that class (aka an "object") we would write:
***** "C101 object1 = new C101();"

This will create an instance of the class "C101" called "object1"
* The reason why we write "C101" twice is because we're
1. Creating an REFERENCE to an object, named "object1" that is based on the class "C101"
2. Then we're actually CREATING a "new" instance of the class "C101()" that can be referenced with "object1"

Get in Touch With Us!

* Subscribe and get Coding 101 automatically at TWiT.tv!
* Follow PadreSJ and Snubs on Twitter.
* Watch the show live and join the chatroom every Thursday at 1:30pm PST.
* Email us at Padre@twit.tv and Shannon@twit.tv.
* Join our Google+ Community!
* Check out our trancripts.