Thanks all ;-)
On Jan 7, 2013 4:28 PM, "Sang Shin" <[email protected]> wrote:

>  On 1/7/2013 1:33 AM, Deepak A L wrote:
>
> Hi Sang,can u give me the link for downloading the workin example. Where
> is the link of working codes
>
>
> Go to
>
> http://www.javapassion.com/portal/java-programming-with-passion/java-programming-with-passion
>
> Select "Polymorphism"
>
>  On Jan 7, 2013 1:30 AM, "Sang Shin" <[email protected]> wrote:
>
>>  On 1/6/2013 2:19 PM, Deepak A L wrote:
>>
>> Hi Joel/Sang,
>>                     Can u plz provide the complete working example for
>> the below
>> Example 3--polymorphic behaviour.
>>
>>
>> OK.  The new hands-on lab has been uploaded.  I ended up modifying
>> interface code from
>>
>> public interface BookInterface extends ProductInterface{
>>     public String getPublisher();
>>     public void setPublisher(String publisher);
>>     public int getYearPublished();
>>     public void setYearPublished(int yearPublished);
>> }
>>
>> to
>>
>> public interface BookInterface {
>>     public String getPublisher();
>>     public void setPublisher(String publisher);
>>     public int getYearPublished();
>>     public void setYearPublished(int yearPublished);
>> }
>>
>> while the Book.java as it is  as shown below
>>
>> public class Book extends Product implements BookInterface{
>>
>>     private String publisher;
>>     private int yearPublished;
>>
>>     /** Creates a new instance of Book */
>>     public Book(double regularPrice,
>>             String publisher,
>>             int yearPublished) {
>>         super(regularPrice);
>>         this.publisher = publisher;
>>         this.yearPublished = yearPublished;
>>     }
>>     ...
>>
>> This way, we are still showing Interrface-based (ProductInterface.java)
>> polymorphism while removing the redundancy Joel has pointed out
>> in his original question.
>>
>> -Sang
>>
>>  -----
>> Deepak
>> On Jan 6, 2013 9:23 PM, "Sang Shin" <[email protected]> wrote:
>>
>>>  On 1/5/2013 5:53 PM, Joel wrote:
>>>
>>> Hi Sang,
>>>
>>> In studying the Example 3 (Polymorphic behavior via Java Interface) in
>>> the Polymorphism lab of Javase, there is an interface class defined as
>>> follows:
>>>
>>> public interface BookInterface extends ProductInterface {
>>> public String getPublisher();
>>> public void setPublisher(String publisher);
>>> public int getYearPublished();
>>> public void setYearPublished(int yearPublished);
>>> }
>>>
>>> Why does this class need to extend ProductInterface? I ask because
>>> Product class already implements ProductInterface. So when you define the
>>> Book class as:
>>>
>>> public class Book extends Product* implements BookInterface*{ ...}
>>>
>>> ...it seems as though the Book class inherits ProductInterface twice:
>>> once from extending Product and again in the BookInterface implementation.
>>>
>>>
>>> Your observation indeed is correct.
>>>
>>>
>>> *I modified the BookInterface definition by removing extends
>>> ProductInterface and the code runs fine without error.
>>>
>>> *So my questions are:
>>> Is there a reason you extend BookInterface with ProductInterface? Or is
>>> this simply superfluous coding?
>>>
>>>
>>> The latter. :-)  Apparently the only reason it also extends Product
>>> class is
>>> to use a constructor method of the Product class but it does not have
>>> to as you pointed out.  (The sample code actually uses this
>>>
>>> I also found there is some discrenpancy between the document and
>>> the code sample, which I am in the process of cleaning up.
>>>
>>>
>>> And why does the compiler not complain in Book class that it inherits
>>> ProductInterface interface twice: once from Product and again from
>>> BookInterface? Is it Ok to inherit the same abstract methods twice like
>>> this?
>>>
>>>
>>> Correct.  This is a not compiler error.
>>>
>>> -Sang
>>>
>>>
>>> Joel
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "JPassion.com: Java Programming" group.
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> Visit this group at
>>> http://groups.google.com/group/jpassion_java?hl=en-US.
>>>
>>>
>>>
>>>
>>>
>>> --
>>> -------------------------------------------------------------------
>>>              Sang Shin, [email protected]
>>>          http://www.linkedin.com/in/javapassion (Linkedin)
>>>           http://twitter.com/javapassion (Tweeter)
>>>             Life is worth living... with Passion!
>>>
>>> Free Webinars: "Ruby on Rails", "MySQL", "Java EE 6", "Java Performance"
>>>              http://javapassion.com/webinars
>>> ----------------------------------------------------------------------
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "JPassion.com: Java Programming" group.
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> Visit this group at
>>> http://groups.google.com/group/jpassion_java?hl=en-US.
>>>
>>>
>>>
>>
>>
>> --
>> -------------------------------------------------------------------
>>              Sang Shin, [email protected]
>>          http://www.linkedin.com/in/javapassion (Linkedin)
>>           http://twitter.com/javapassion (Tweeter)
>>             Life is worth living... with Passion!
>>
>> Free Webinars: "Ruby on Rails", "MySQL", "Java EE 6", "Java Performance"
>>              http://javapassion.com/webinars
>> ----------------------------------------------------------------------
>>
>>
>
> --
> -------------------------------------------------------------------
>              Sang Shin, [email protected]
>          http://www.linkedin.com/in/javapassion (Linkedin)
>           http://twitter.com/javapassion (Tweeter)
>             Life is worth living... with Passion!
>
> Free Webinars: "Ruby on Rails", "MySQL", "Java EE 6", "Java Performance"
>              http://javapassion.com/webinars
> ----------------------------------------------------------------------
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"JPassion.com: Java Programming" group.
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/jpassion_java?hl=en-US.


Reply via email to