Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.help > #1558

Re: Interchanging objects?

Path csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
From Lew <lewbloch@gmail.com>
Newsgroups comp.lang.java.help
Subject Re: Interchanging objects?
Date Thu, 9 Feb 2012 09:21:52 -0800 (PST)
Organization http://groups.google.com
Lines 33
Message-ID <6097014.139.1328808112771.JavaMail.geo-discussion-forums@pbcxd5> (permalink)
References <bb014e7e-2bf1-4d55-8677-6e2514826da5@p7g2000yqk.googlegroups.com> <2362859.192.1328425259754.JavaMail.geo-discussion-forums@prhb20> <9f687d98-30d7-4838-b09d-5ff6a77139b9@1g2000yqv.googlegroups.com> <0iq6j7t80gambj8ck9nbpldtscdes3d6pv@4ax.com>
NNTP-Posting-Host 173.164.137.214
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1
X-Trace posting.google.com 1328808113 19944 127.0.0.1 (9 Feb 2012 17:21:53 GMT)
X-Complaints-To groups-abuse@google.com
NNTP-Posting-Date Thu, 9 Feb 2012 17:21:53 +0000 (UTC)
In-Reply-To <0iq6j7t80gambj8ck9nbpldtscdes3d6pv@4ax.com>
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=173.164.137.214; posting-account=CP-lKQoAAAAGtB5diOuGlDQk0jIwmH0T
User-Agent G2/1.0
X-Google-Web-Client true
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.help:1558

Show key headers only | View raw


Roedy Green wrote:
> Davej wrote, quoted or indirectly quoted someone who said :
> >I have been trying to think of a convenient way to interchange objects
> >that provide calculations that are done slightly differently. The
> >objects all have the same method names and return the same types. Is
> >there an elegant way to accomplish this? Thanks.
> 
> This is what an interface is for.  All the classes that perform the
> same operations but in a different way all implement the same
> interface.  Then you can refer to any objects of any of those classes
> by their interfacename.  What you call myinterface.calcBiggest for
> example, each object will uses its class's version of calcBiggest.
> 
> See http://mindprod.com/jgloss/interface.html

After you understand how interfaces work to encapsulate common types of 
behavior (as opposed to common implementations of behavior), you can use Java 7 
"closures" effectively. The Java version of closures is syntactic sugar for 
single-abstract-method (SAM) interfaces, that is, interfaces that define 
exactly one abstract method.

Example:

 public interface Closure
 {
   int performOp(int x, int y);
 }

The operations performed by 'performOp()' can be anything that operates on two 
'int' values and returns an 'int'.

-- 
Lew

Back to comp.lang.java.help | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Interchanging objects? Davej <galt_57@hotmail.com> - 2012-02-04 12:02 -0800
  Re: Interchanging objects? Lew <lewbloch@gmail.com> - 2012-02-04 23:00 -0800
    Re: Interchanging objects? Davej <galt_57@hotmail.com> - 2012-02-05 07:41 -0800
      Re: Interchanging objects? Lew <lewbloch@gmail.com> - 2012-02-05 11:34 -0800
      Re: Interchanging objects? Roedy Green <see_website@mindprod.com.invalid> - 2012-02-08 22:42 -0800
        Re: Interchanging objects? Lew <lewbloch@gmail.com> - 2012-02-09 09:21 -0800
  Re: Interchanging objects? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-02-07 08:09 -0500

csiph-web