Identify one or two key distinctions within that class

Assignment Help Computer Engineering
Reference no: EM132138084

When is a Subclass a Subclass

When programming, or solving any sort of problem for that matter, abstraction plays a key role in the decision-making process. It allows you to remove irrelevant details in order to understand the bigger picture.

For example, if you were constructing a program to inventory cars for sale at a used car lot, it would not make much sense to design a unique class for each separate car, especially if there are many vehicles in the lot. Instead, you would create a single "Car" class and personalize it for each vehicle.

Abstraction plays a key role in object-oriented programming. As the designer, you decide which characteristics are (and which are not) important as you define classes. In the context of the used car lot example, you could consider separate subclasses of the Car class for each make of car.

Ordering classes hierarchically can save you time and effort. For instance, a Corolla and a Camry are individual models of cars, but they both inherit certain characteristics from their shared make, Toyota.

However, hierarchies present their own challenges. Just because you can construct hierarchies, it does not necessarily mean that it is useful to do so. Consider the Unified Modeling Language (UML) class diagram below, which contains a set of subclasses for the superclass Car.

In this case, creating separate subclasses of Car is more trouble that it is worth, because the inventory program probably does not have to treat different models of cars in different ways. Therefore, it is probably more appropriate simply to designate the make of the car in a field of the class, as illustrated in the UML class diagram below.

The larger question at play is this: "What characteristic of an object is significant enough to warrant a subclass rather than simply data in a field?"

Think about an application in your field of expertise and the classes that you would define for that application.

Describes the application you choose and the class within that application.

Identify one or two key distinctions within that class that would prompt you to create subclasses instead of fields within the main class.

Explain your reasoning, giving specific examples of objects in each of the classes and subclasses you discuss, and draw a UML class diagram to support your claim.

Reference no: EM132138084

Questions Cloud

What is the cutoff score : What is the cutoff score for the top 18% in this example?
Proportion of participants fell in category : Participants who score between 26 and 30 on this scale are categorized as overweight. What proportion of participants fell in this category?
What kind of sampling method is being used : Ten 1st grade classrooms are randomly selected from across the county. What kind of sampling method is being used?
Birdcalls during this experimental session : Assuming these data are normally distributed, what is the probability that robins made more than 11 birdcalls during this experimental session?
Identify one or two key distinctions within that class : Identify one or two key distinctions within that class that would prompt you to create subclasses instead of fields within the main class.
Students study an average : Assuming these data are normally distributed, what is the z score for students studying 45 minutes per week?
Draw a flowchart showing the steps for a cpu program : Draw a flowchart showing the steps for a CPU program that uses programmed I/O to send a string consisting of 10 characters.
Five independent components in parallel : A system consists of five independent components in parallel. The system will work if at least one of the five components works. Let Ci represent
Series of lessons taught by a substitute teacher : A researcher records the sound (in decibels) during a series of lessons taught by a substitute teacher at a local elementary school.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd