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

  • Home
  • SEARCH
  • 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 9017923
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T04:23:31+00:00 2026-06-16T04:23:31+00:00

Wikipedia classifies call super as an anti-pattern, and I don’t really understand why. The

  • 0

Wikipedia classifies “call super” as an anti-pattern, and I don’t really understand why. The pattern is used pretty frequently in objective-C/cocoa; for example init/dealloc, drawrect, awakefromnib all require you to call super. Am I misunderstanding the concept here?

Link to the article: http://en.wikipedia.org/wiki/Call_super

  • 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. Editorial Team
    Editorial Team
    2026-06-16T04:23:33+00:00Added an answer on June 16, 2026 at 4:23 am

    As it says in the article, it is the necessity to call the super method that is the antipattern, i.e. the super class “expects” you to override the method to make the functionality complete – but it does so without making this expectation explicit. And it also expects you to call the super implementation. Both are required for the program to work.

    This is an antipattern, because the intent of the programmer cannot be deduced from the code. If your co-workers decided to work on it, they wouldn’t know what you expected the class to do, and are therefore likely to encounter problems and/or irritations.

    So if you expect some parts of a method to be overridden, but other things need to stay in place, it is recommended to use the template method pattern, where you keep all the things that must not be replaced in one (private) method, which then calls another one – completely separate -, which must be implemented in order for the program to work (in some languages, it won’t even compile otherwise).
    That way, you make sure the important things remain where they have to be, and whoever extends the class will know exactly what to do, while remaining blissfully ignorant of the other implementation details.

    Objective-C does not have abstract or virtual methods, but you can achieve the same effect by explicitly raising an exception if the super method is called. That way, if your co-workers forget to override the method, the program will crash – and it will crash with an error message that they will understand, and that will enable them to understand and fix the problem faster and more easily than some erratic behavior with no explanation, due to the functionality not being complete.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Wikipedia states that underscores are used by both Android and Microsoft Windows Systems in
Wikipedia states that the Specification Pattern is where business logic can be recombined by
Wikipedia used to say* about duck-typing : In computer programming with object-oriented programming languages,
Wikipedia's definition for Iterator pattern design: the Iterator pattern is a design pattern in
Wikipedia states: In practice, explicit right outer joins are rarely used, since they can
Wikipedia says Base64 encoding schemes are commonly used when there is a need to
Wikipedia provides a number of citations used in the sciences , however does one
Wikipedia says: MVC provides front and back ends for the database, the user, and
wikipedia appears to infers websockets are secure: For web browser support, a secure version
Wikipedia says the following on A*'s complexity: The time complexity of A* depends on

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.