hi,
i just something in this line

>
>         person1.getAddress.getStreetNumber()
>

it must be person1.getAddress().getStreetNumber();

thanks for help Nic Fox..



On Dec 29 2009, 9:48 am, Nic Fox <[email protected]> wrote:
> The Person class implements MyOwnInterface which means that it must  
> have a method with the signature:
>
>         public AddressInterface getAddress();
>
> This is a clue to you that the person class will contain some sort of  
> address object which implements the AddressInterface. In the homework  
> this is an AddressImpl object, so you need to add code to the Person  
> class to create that object too. You will need to add something like  
> the following to the Person class:
>
>         public class Person implements PersonInterface,  
> AnotherInterfaceExample, MyOwnInterface {
>
>         ...
>
>         AddressImpl address; //this declaration is at the class level (you  
> could specify access if you like).
>
>         ...
>
>         // this code is the constructor with arguments
>         Person(int cashSaving, int retirementFund,
>             String firstName, String lastName,
>             int streetNumber, String streetName, String country) {
>                 this.cashSaving = cashSaving;
>                 this.retirementFund = retirementFund;
>                 this.firstName = firstName;
>                 this.lastName = lastName;
>                 address = new AddressImpl(streetNumber, streetName, country);
>         }
>
>         ...
>
>         // this code implements the getAddress() method specified in the  
> interface
>         public AddressInterface getAddress() {
>                 return address;
>         }
>
> So now when you create a Person object in your main method you will  
> need to pass in some extra arguments to the constructor for the  
> address fields that have been added: int streetNumber, String  
> streetName, and String country. You can see in my example that these  
> are then passed along to the AddressImpl constructor from the Person  
> constructor.
>
> After all this, the only thing left to do is to decide how you're  
> going to display the address (along with the other Person object  
> details such as the name, wealth and intelligence which you should  
> already have examples of from the base code provided by Sang Shin). So  
> you have two options (at least) for displaying the address details:
>
> 1. You could create an AddressImpl object reference in main to hold  
> the AddressImpl object returned by the getAddress() method. For  
> example in the main method you could use something like this which  
> calls getAddress just once:
>
>         AddressImpl tempAddress = person1.getAddress();
>
> and then use tempAddress.getStreetNumber() etc. in your  
> System.out.print statements.
>
> OR
>
> 2. You can access the object held by the Person object by using the  
> getAddress() method each time you want to access any of the  
> AddressImpl getter/setter methods. So you would just use getAddress()  
> every time like this in your System.out.print statements:
>
>         person1.getAddress.getStreetNumber()
>
> Hope this explanation is clear enough. There are of course alternative  
> solutions.
>
> On 29/12/2009, at 6:13 AM, nn roh wrote:
>
> > Ok .
>
> > I did create 2 classes AddressImpl and person .now in the main  
> > method how i can use Addresimpl classs ?
> > and how i can use the method getaddress with it return an interface??
>
> > Thanks.
>
> > On Mon, Dec 28, 2009 at 9:32 PM, Stephen Hunter  
> > <[email protected]> wrote:
> > Need more info on what you are having trouble with.
>
> > Sent from my iPhone
>
> > On Dec 28, 2009, at 7:24 AM, nn roh <[email protected]> wrote:
>
> >> Hi ,
> >> Still stuck on 1027  hw :(
>
> >> What is the relation between AddressImpl class and person class. ?
>
> >> Can any one help on this!!
>
> >> Thanks
> >> Nada
>
> >> On Wed, Dec 23, 2009 at 5:44 AM, Nic Fox <[email protected]> wrote:
> >> 1. Usually methods are declared public so that they can be called  
> >> by other objects without concern for their parent package or  
> >> inheritance. If you have specific reasons to restrict the access to  
> >> the methods then you would select a suitable access modifier. If  
> >> you don't select an access modifier then the implicit access is at  
> >> the package level.
>
> >> On the other hand, if you have what are often referred to as  
> >> 'helper methods' in a class then often those are declared as  
> >> private or protected because they are used internally by the class  
> >> to perform some common task that the class performs. It is an  
> >> example of 'Don't Repeat Yourself' and encapsulation.
>
> >> 2. the method call to getAddress() should return a reference to an  
> >> object instantiated from the AddressImpl class. The AddressImpl  
> >> class implements AddressInterface.
>
> >> On 23/12/2009, at 8:15 AM, nn roh wrote:
>
> >>> Hi all,
>
> >>> from  homework 1027
>
> >>> 1-Why i should define the implemented methods as public ?
>
> >>> 2-What i can write inside the method   AddressInterface  
> >>> getAddress() which return an interface ?
>
> >>> Thanks in advance,
>
> >>> Nada
>
> >>> --
> >>> To post to this group, send email to 
> >>> [email protected]
> >>> To unsubscribe from this group, send email to 
> >>> [email protected]
> >>> For more options, visit this group 
> >>> athttp://groups.google.com/group/javaprogrammingwithpassion?hl=en
>
> >> --
> >> To post to this group, send email to 
> >> [email protected]
> >> To unsubscribe from this group, send email to 
> >> [email protected]
> >> For more options, visit this group 
> >> athttp://groups.google.com/group/javaprogrammingwithpassion?hl=en
>
> > --
> > To post to this group, send email to 
> > [email protected]
> > To unsubscribe from this group, send email to 
> > [email protected]
> > For more options, visit this group 
> > athttp://groups.google.com/group/javaprogrammingwithpassion?hl=en
>
>
-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaprogrammingwithpassion?hl=en

Reply via email to