• 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
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Multiple sets of constants

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

I am looking for the proper solution to the following problem. I am programming an algorithm modeling Lead Acid Batteries with many equations involving more than 25 coefficients which are different according to the technology.

I am looking for a solution which might look like :

- a top abstract class with non abstract methods containing the algorithm
- several classes extending this class to provide the set of constants corresponding to each technology
- moreover I would like the constants to be actually constants

Given the fact that we can't override variables, I am not sure I have found the right pattern to solve this problem.

My temporary solution is :
- abstract class with protected constructor (I am using a public static getInstance method to instantiate an object of the proper subclass)
- the top level abstract class has a constructor expecting an EnumMap in which all the parameters can be recovered to initialize private final instance variables.
- a class for each technology extending the top abstract class with a private static final EnumMap initialized with a static initializer.

Thanks in advance for your answers.
 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Gael,
Welcome to JavaRanch!

Why not provide getter methods that reference the true constants? Then you can get the benefits of OO without losing the real constants you were looking for.
 
reply
    Bookmark Topic Watch Topic
  • New Topic