Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

object oriented programming real examples

Posted on 2013-10-22
8
Medium Priority
?
340 Views
Last Modified: 2013-10-29
I am looking for real world explanations of object oriented programming


A student is an instance of a class
a house is an instance of a housing community
0
Comment
Question by:rgb192
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 
LVL 16

Expert Comment

by:krakatoa
ID: 39592290
No, they are not instances - an instance is a 'concrete' object. They are classes and subclasses in the hierarchy.
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39592323
I would say that a class is a collection of students, and a housing community is a collection of houses. Or in C# terms:

public class Studen
{

}

public class Class : ICollection<Student>
{

}

public class House
{

}

public class HousingCommunity : ICollection<House>
{

}

Open in new window

0
 
LVL 75

Accepted Solution

by:
käµfm³d   👽 earned 2000 total points
ID: 39592350
Now, to get more object-oriented, let's extend the house route. A house is a building, yes?

e.g.

public abstract class Building
{

}

public class House : Building
{

}

Open in new window


But a skyscraper is also a building, correct?

public class SkySkraper : Building
{

}

Open in new window


What would you consider a city block to be? I think of it as a collection of buildings:

public class CityBlock : ICollection<Building>
{
    private List<Building> myBuildings = new List<Building>();

    public void Add(Building item)
    {
        this.myBuildings.Add(item);
    }

    // Remaining ICollection methods
}

Open in new window


Since it contains Buildings, then theoretically it could have both houses and skyscrapers, right?

static void Main(string[] args)
{
    CityBlock block = new CityBlock();

    block.Add(new House());
    block.Add(new SkyScraper());
}

Open in new window


One part of object-oriented programming deals with polymorphism--which what I believe you are asking about. Polymorphism is treating an object like it is something else under different contexts. Above, I created a new House and a new SkyScraper (two different kinds of objects, I'm sure you'll agree), but when I added them to the block I treated them as Buildings. I could do this because both the House and the SkySkraper inherit the Building base class.

Polymorphism is a bit more broad than what I've described above. Digest the above first, then we can follow up with remaining questions you have  = )
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 16

Expert Comment

by:krakatoa
ID: 39592388
kaufmed - pity no Java there. ;)
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39592393
My Java kung-fu is not that strong, so I didn't want to embarrass myself  ; )
0
 
LVL 16

Expert Comment

by:krakatoa
ID: 39592403
But it might have embarrassed me. Or helped me, more likely. ;)
0
 
LVL 16

Expert Comment

by:krakatoa
ID: 39592421
(Sorry, deleted this comment - too involved.).
0
 

Author Closing Comment

by:rgb192
ID: 39610827
Good example of complex usage.

Thanks
0

Featured Post

Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
Suggested Courses

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question