• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Devaka Cooray
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Carey Brown
  • Mikalai Zaikin
Bartenders:
  • Lou Hamers
  • Piet Souris
  • Frits Walraven

About Data Class

 
Ranch Hand
Posts: 45
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi guys,
I modified the Data.java class to implement lock,unlock and criteriaFind methods.But they are asking to document reason for why you are modifing the Data class rather than extending.Could any one explain the difference between these approaches?.
thanks,
Reddy
 
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Reddy,
Did you really want an explanation of what the differences between modifying and extending are?
Modifying the Data class is when you change something in the class itself.
Extending the Data class is when you create a class that inherits from Data class. You then add your functionality in this new class, and only use the new class (not the original Data class) for the rest of your application.
Or did you want reasons for doing one instead of the other? If so, perhaps you could mention your reasoning first.
Regards, Andrew
[ October 13, 2003: Message edited by: Andrew Monkhouse ]
 
G.T. Reddy
Ranch Hand
Posts: 45
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Andrew,
I know the meaning and implemented by modififing the Data.java class.But I am not able to explain the reason for doing one instead of the other.But one thing is if we extend Data class then one more class would me included unnecessarily in the project and we can prevent it by just modifing the Data class itself.SO no need to extend the Data class.
Am I correct?.Is there any thing else.If so please explain.
Thanks,
--Reddy.
 
Bartender
Posts: 1872
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi George, (or Tommy ?),
As you got an existing Data class, I suppose that you have an old assignment (in the new ones as mine, you are given only the interface).
In your case, I would modify Data instead of extending it because the given Data is not complete : as a Data class with no lock(),unlock() nor criteriaFind() method would be useless, it doesn't make much sense IMO to provide it as it is.
Best,
Phil.
[ October 13, 2003: Message edited by: Philippe Maquet ]
 
Andrew Monkhouse
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Reddy,
Some things to think about before you start work on your assignment then ....
  • Are there any legacy applications which might break because of you changing / adding to the existing Data class? If so, you probably want to subclass rather than modify.
  • Is it possible that the original programmer may release a new version of the Data class? If so, then your modifications would have to be merged with theirs - it would be easier to subclass.
  • Do you want a clear distinction between the original programmer's code and your code? In which case having a subclass would give you that distinction.
  • Do the new methods really belong in the Data class? What is the responsibility of the Data class? Would a subclass be a better place for lock() and unlock()?
  • An alternate way of looking at the previous question: do you believe the supplied classes are "complete", in which case do you really want to modify a complete class?
  • Are there any methods where you might want to override existing functionality?
  • Can you possibly fix the deprecated code and/or javadoc comments without modifying the code?


  • You may very well look at some of the issues I mentioned and decide that they are silly and don't apply to the this assignment. But the reality is that they are all things you should be considering if you had the same choice in your real job. So you should already know the answers to these in order to make your decision on whether to modify or extend Data.
    Regards, Andrew
     
    Ranch Hand
    Posts: 883
    3
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Andrew,
    One option that Sun recommends(at least it's in a book - Effective Java - with Sun's logo on it) is favoring composition over inheritance. I know that I'd prefer to handle the locking issue using composition, but I'm concerned that the instructions (FBN assignment) specifically says:

    Part of your assignment will be to enhance the Data class. You may do this by modification or subclassing, but you should document the approach and reason for your choice.


    Given the instructions, I guess I'm stuck with modification or subclassing... grrr. Do you know of others who used composition and didn't get their score dinged for it?
    Thanks,
    Burk
     
    author
    Posts: 11962
    5
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by Burk Hufnagel:
    Given the instructions, I guess I'm stuck with modification or subclassing... grrr. Do you know of others who used composition and didn't get their score dinged for it?

    A lot of people have used a separate LockManager class. Search this forum for "LockManager" and you'll find plenty of discussion about the topic.
     
    We can walk to school together. And we can both read this tiny ad:
    We need your help - Coderanch server fundraiser
    https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
    reply
      Bookmark Topic Watch Topic
    • New Topic