<< Chapter < Page Chapter >> Page >

This case violates the rule

In this case, the method named m is defined in the class named B , which is two levels down from the class named Object .

The method named m is neither defined in nor inherited into the class named Object .

When the reference to the object of the class B was assigned to the reference variable of type Object , the type of the reference was automatically converted to type Object .

Therefore, because the reference is type Object , it cannot be used directly to call the method named m .

The solution is a downcast

In this case, the solution to the problem is a downcast.

The code in Listing 6 shows an attempt to solve the problem by casting the reference down the hierarchy to type A .

Listing 6 . Try a downcast to type A.

//Following will not compile //((A)var).m();

Still doesn't solve the problem

However, this still doesn't solve the problem, and the result is another compiler error.

The method named m is neither defined in nor inherited into the class named A .

Again, it was necessary to convert the statement into a comment in order to cause the program to compile.

What is the problem here?

The problem with this approach is that the downcast simply didn't go far enough down the inheritance hierarchy.

The class named A does not contain a definition of the method named m . Neither does it inherit the method named m . The method named m is defined in class B, which is a subclass of A .

Therefore, a reference of type A is no more useful than a reference of type Object insofar as calling the method named m is concerned.

The real solution

The solution to the problem is shown in Listing 7 .

Listing 7 . Try a downcast to type B.

//Following will compile and run ((B)var).m();

The code in Listing 7 casts (temporarily converts) the reference value contained in the Object variable named var to type B .

The method named m is defined in the class named B . Therefore, a reference of type B can be used to call the method.

The code in Listing 7 compiles and executes successfully. This causes the method named m to execute, producing the following output on the computer screen:

m in class B

A few odds and ends

Before leaving this topic, let's look at a few more issues.

The code in Listing 8 declares and populates a new variable of type B.

Listing 8 . Assign var to v1.

//Following will compile and run B v1 = (B)var;

The code in Listing 8 uses a cast to:

  • Convert the contents of the Object variable to type B
  • Assign the converted reference to the new reference variable of type B .

This is a legal operation. In this class hierarchy, the reference to the object of the class B can be assigned to a reference variable of the types B, A , or Object .

While this operation is legal, it is usually not a good idea to have two different reference variables that contain references to the same object. Inthis case, the variables named var and v1 both contain a reference to the same object.

Cannot be assigned to type C

However, the reference to the object of the class B cannot be assigned to a reference variable of any other type, including type C . An attempt to do so is shown in Listing 9 .

Questions & Answers

Given that the elasticity of supply for a good is 2 and the percentage change in price is 45%.What is the percentage change in quantity supplied
Mbe Reply
state and explainfour function of a costumer service
Egba Reply
the circular flow model of the economy is a simplification showing how the economy works and the relationship between income,production and spending in the economy as a whole
Anna Reply
what is circular flow
Ntokozo Reply
what is economics?
Dorcas Reply
Economics is defined as the science that study human behaviour as a relationship between ends and scarce means which have alternative uses.
Emmanuella
economics is a social science concerned with the production,distribution, and consumption of goods and services
Michael
in 2021 Amazon reduced the annual subscription fee for its prime membership service which provides free two_day shipping on many goods and other benefits, from $119 to $99. Zoppa consulting, an investment firm estimated that before the price reduction, prime had 62million subscribers globally. If so, what is the arc elasticity of demand for a prime membership.
Joan Reply
Differences between microeconomics and macroeconomics
tatiana Reply
Macroeconomics deal with the economy as a whole.that is an economy affect the firm ,government and the households eg.unemployment, whilst Microeconomics deal with the the decision making of households,firm and government separately.
Amah
what is Economics
Ebem Reply
the branch of knowledge concerned with the production, consumption, and transfer of wealth and has Influence by sociology!!!!
Ajay
Economics is the study of how humans make decisions when they want to fulfil their requirements and desires for goods, services and resources.
Abdullah
Economics is the study how humans make decisions in the faces of scarcity.
Rose
economic is the study of how human make decision in the fact of scarcity.
Toang
Economics is a social science which study human behavior as a relationship between earn and scarce mean which have alternative uses
Juliet
what is market structure
Fatima
market structure in economics depicts how firms are differentiated and categorised based on types of goods they sell and how their operations are affected by external factors and elements.
Nasir
what is economic theory
Madara
what is demand
Gooluck Reply
demand is the willingness to purchase something
Mohamed
demand is the potential ability or williness to purchases something at a particular price at a given period of time..
Ahmed
Demand refers to as quantities of a goods and services in which consumers are willing and able to purchase at a given period of time. Demand can also be defined as the desire backed by ability to purchase .
Fadiga
what is demand
John Reply
is the production of goods in scarcity
David
thanks
John
Demand refers to as quantities of a goods and services in which consumers are willing and able to purchase at a given period of time.
Fadiga
Demand refers to the quantity of goods and services that a consumer is willing and able to buy at a given price over a period of time
Augustina
Do high interest rate in a country increase investment
Alfred
what is demand of supply
music Reply
What is the meaning of supply of labour
Anthonia Reply
what is production?
Elizabeth Reply
Production is basically the creation of goods and services to satisfy human wants
Anthonia
importance of tertiary and example
Elizabeth
Production is the process of producing goods and services to satisfy human needs and want.
Augustina
under what condition will demand curve slope upward from left to right instead of normally sloping downward from left to right
Atama Reply
how i can calculate elasticity?
Tewekel Reply
Difference between extinct and extici spicies
Amanpreet Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xna game studio. OpenStax CNX. Feb 28, 2014 Download for free at https://legacy.cnx.org/content/col11634/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xna game studio' conversation and receive update notifications?

Ask