Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 103563
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T01:08:37+00:00 2026-05-11T01:08:37+00:00

I have an object tree that looks something like Ball / \ LegalBall IllegalBall

  • 0

I have an object tree that looks something like

           Ball           /    \   LegalBall    IllegalBall 

And I have 2 methods:

class o { AddBall(LegalBall l) AddBall(IllegalBall i) } 

in another class I’d like to do the following:

o.AddBall(myBall); 

where myBall is of type Ball. And get it to call the correct method depending on the subtype. Apparently I can’t do this… the arguments are not applicable.

Does anyone know how I can achieve what I want? Or if there is a good work around

Thanks

EDIT : the application I’m trying to build is a Cricket scorecard type thing. So depending on the type of ball that is bowled various other elements should change.

my original intention was to be able to specify the ball type and runs scored from some form of UI and then create an appropriate type ball from a BallFactory and then for example when I send a no ball to the team score it will add the value onto the team score but also add the value to the no balls counter. But when i give the same ball to the Batsmens Analysis to deal with it should only score value-1 to the batsmens total..

I hope thats not too bad an explanation of my original intention.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T01:08:38+00:00Added an answer on May 11, 2026 at 1:08 am

    You could use the Visitor pattern.

    class Basket {     void AddBall(LegalBall l) {         System.out.println('LegalBall added to basket');     }      void AddBall(IllegalBall i) {         System.out.println('IllegalBall added to basket');     } }  interface Ball {     void AddBall(Basket b); }  class LegalBall implements Ball {     void AddBall(Basket b) {         b.AddBall(this);     } }  class IllegalBall implements Ball {     void AddBall(Basket b) {         b.AddBall(this);     } } 

    or to make it more general:

    interface BallVisitor {     void visit(LegalBall l);     void visit(IllegalBall i); }  interface Ball {     void accept(BallVisitor v); }  class LegalBall implements Ball {     void accept(BallVisitor v) {         v.visit(this);     } }  class IllegalBall implements Ball {     void accept(BallVisitor v) {         v.visit(this);     } }  class Basket implements BallVisitor {     void visit(LegalBall l) {         System.out.println('LegalBall added to basket');     }      void visit(IllegalBall i) {         System.out.println('IllegalBall added to basket');     } } 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 69k
  • Answers 69k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Code would look something like this: public class HomeController :… May 11, 2026 at 12:42 pm
  • added an answer From Enumerable.Cast()'s remarks: This method is implemented by using deferred… May 11, 2026 at 12:42 pm
  • added an answer PropertyDescriptorCollection props = TypeDescriptor.GetProperties(thisType); As an aside: this won't include… May 11, 2026 at 12:42 pm

Related Questions

I have an object that is mapped to a cookie as a serialized base-64
I have an object graph serialized to xaml. A rough sample of what it
I have an object in a multi-threaded environment that maintains a collection of information,
I have an object of the type System.Drawing.Image and want to make every pixel
I have been wondering whether there is any code out there that enables representing
I'm writing a Python application that takes a command as an argument, for example:
Right now, we are using Perforce for version control. It has the handy feature
I have a desktop (winforms) application that uses a Firebird database as a data

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.