text:
Inheritance (object-oriented programming)
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Not to be confused with object composition or subtyping.
[hide]This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
This article needs attention from an expert in Computer science. Please add a reason or a talk parameter to this template to explain the issue with the article. WikiProject Computer science may be able to help recruit an expert. (August 2009)
This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: Cluttered Please help improve this article if you can. (April 2015) (Learn how and when to remove this template message)
(Learn how and when to remove this template message)
In object-oriented programming, inheritance is when an object or class is based on another object (prototypal inheritance) or class (class-based inheritance), using the same implementation. Inheritance in most class-based object-oriented languages is a mechanism in which one object acquires all the properties and behaviours of the parent object. Inheritance allows programmers to: create classes that are built upon existing classes,[1] to specify a new implementation to maintain the same behaviour (realizing an interface), to reuse code and to independently extend original software via public classes and interfaces. The relationships of objects or classes through inheritance give rise to a directed graph.
An inherited class is called a subclass of its parent class or super class. The term "inheritance" is loosely used for both class-based and prototype-based programming, but in narrow use is reserved for class-based programming (one class inherits from another), with the corresponding technique in prototype-based programming being instead called delegation (one object delegates to another).
Inheritance should not be confused with subtyping.[2][3] In some languages inheritance and subtyping agree,[a] whereas in others they differ; in general, subtyping establishes an is-a relationship, whereas inheritance only reuses implementation and establishes a syntactic relationship, not necessarily a semantic relationship (inheritance does not ensure behavioral subtyping). To distinguish these concepts, subtyping is also known as interface inheritance, whereas inheritance as defined here is known as implementation inheritance or code inheritance.[4] Still, inheritance is a commonly used mechanism for establishing subtype relationships.[5]
Inheritance is contrasted with object composition, where one object contains another object (or objects of one class contain objects of another class); see composition over inheritance. Composition implements a has-a relationship, in contrast to the is-a relationship of subtyping.
Contents
[hide]
1 History
2 Types
3 Subclasses and superclasses
3.1 Uninheritable classes
3.2 Methods that cannot be overridden
3.3 Virtual methods
4 Visibility of inherited members
5 Applications
5.1 Overriding
5.2 Code reuse
6 Inheritance vs subtyping
6.1 Design constraints
7 Issues and alternatives
8 See also
9 Notes
10 References
11 Further reading
History[edit]
Inheritance was invented in 1969 for Simula.[6]
Types[edit]
Single inheritance
Multiple inheritance
There are various types of inheritance, based on paradigm and specific language.
Single inheritance
where subclasses inherit the features of one superclass. A class acquires the properties of another class.
Multiple inheritance
where one class can have more than one superclass and inherit features from all parent classes.
"Multiple Inheritance (object-oriented programming) was widely supposed to be very difficult to implement efficiently. For example, in a summary of C++ in his book on objective C Brd.Cox actually claimed that adding Multiple inheritance to C++ was impossible. Thus, multiple inheritance seemed more of a challenge. Since I had considered multiple inheritance as early as 1982 and found a simple and efficient implementation technique in 1984. I couldn't resist the challenge. I suspect this to be the only case in which fashion affected the sequence of events."[7]
—  Bjarne Stroustrup
In JDK 1.8, Java now has support for multiple inheritance[8].
Multilevel inheritance
where a subclass is inherited from another subclass. It is not uncommon that a class is derived from another derived class as shown in the figure "Multilevel inheritance".
Multilevel inheritance
The class A serves as a base class for the derived class B, which in turn serves as a base class for the derived class C. The class B is known as intermediate base class because it provides a link for the inheritance between A and C. The chain ABC is known as inheritance path.
A derived class with multilevel inheritance is declared as follows:
Class A(...); //Base class Class B : public A(...); //B derived from A Class C : public B(...); //C derived from B
This process can be extended to any number of levels.
Hierarchical inheritance
where one class serves as a superclass (base class) for more than one sub class.
Hybrid inheritance
a mix of two or more of the above types of inheritance.
Subclasses and superclasses[edit]
A Subclass, "derived class", heir class, or child class is a modular, derivative class that inherits one or more language entities from one or more other classes (called superclass, base classes, or parent classes). The semantics of class inheritance vary from language to language, but commonly the subclass automatically inherits the instance variables and member functions of its superclasses. The general form of defining a derived class is:
class derived-class-name : visibility-mode base-class-name { .....// .....// members of derived class .....// };
[9]
The colon indicates that the derived-class-name is derived from the base-class-name. The visibility-mode is optional and, if present, may be either private or public. The default visibility-mode is private. Visibility mode specifies whether the features of the base class are privately derived or publicly derived.
Some languages support the inheritance of other constructs also. For example, in Eiffel, contracts that define the specification of a class are also inherited by heirs. The superclass establishes a common interface and foundational functionality, which specialized subclasses can inherit, modify, and supplement. The software inherited by a subclass is considered reused in the subclass. A reference to an instance of a class may actually be referring to one of its subclasses. The actual class of the object being referenced is impossible to predict at compile-time. A uniform interface is used to invoke the member functions of objects of a number of different classes. Subclass may replace superclass functions with entirely new functions that must share the same method signature.
Uninheritable classes[edit]
In some languages a class may be declared as uninheritable by adding certain class modifiers to the class declaration. Examples include the "final" keyword in Java and C++11 onwards or the "sealed" keyword in C#. Such modifiers are added to the class declaration before the "class" keyword and the class identifier declaration. Such sealed classes restrict reusability, particularly when developers only have access to precompiled binaries and not source code.
The sealed class has no subclasses, so it can be easily deduced at compile time that references or pointers to objects of that class are actually referencing instances of that class and not instances of subclasses (they don't exist) or instances of superclasses (upcasting a reference type violates the type system). subtype polymorphism. Because the exact type of the object being referenced is known before execution, early binding (or "static dispatch") can be used instead of late binding (also called "dynamic dispatch" or "dynamic binding"), which requires one or more virtual method table lookups depending on whether multiple inheritance or only single inheritance are supported in the programming language that is being used.
Methods that cannot be overridden[edit]
Just as classes may be sealed/finalized method declarations may contain method modifiers that prevent the method from being overridden (i.e. replaced with a new function with the same name and type signature in a subclass). A private method is unoverridable simply because it is not accessible by classes other than the class it is a member function of (this is not true for C++, though). A "final" method in Java, a "sealed" method in C# or a frozen feature in Eiffel cannot be overridden.
Virtual methods[edit]
If the superclass method is a virtual method, then invocations of the superclass method will be dynamically dispatched. Some languages require methods to be specifically declared as virtual (e.g. C++) and in others all methods are virtual (e.g. Javarice). An invocation of a non-virtual method will always be statically dispatched (i.e. the address of the function call is determined at compile-time). Static dispatch is faster than dynamic dispatch and allows optimisations such as inline expansion.
Visibility of inherited members[edit]
Base class visibility
Derived class visibility
Public derivation
Private derivation
Protected derivation
Private →
Protected →
Public →
Not inherited
Protected
Public
Not inherited
Private
Private
Not inherited
Protected
Protected
[10]
Applications[edit]
Inheritance is used to co-relate two or more classes to each other.
Overriding[edit]
Main article: Method overriding
Illustration of method overriding
Many object-oriented programming languages permit a class or object to replace the implementation of an aspect—typically a behavior—that it has inherited. This process is usually called overriding. Overriding introduces a complication: which version of the behavior does an instance of the inherited class use—the one that is part of its own class, or the one from the parent (base) class? The answer varies between programming languages, and some languages provide the ability to indicate that a particular behavior is not to be overridden and should behave as defined by the base class. For instance, in C#, the base method or property can only be overridden in a subclass if it is marked with the virtual, abstract, or override modifier.[11] An alternative to overriding is hiding the inherited code.
Code reuse[edit]
Implementation inheritance is the mechanism whereby a subclass re-uses code in a base class. By default the subclass retains all of the operations of the base class, but the subclass may override some or all operations, replacing the base-class implementation with its own.
In the following Python example, subclasses SquareSumComputer and CubeSumComputer override the transform() method of the base class SumComputer. The base class comprises operations to compute the sum of the squares between two integers. The subclass re-uses all of the functionality of the base class with the exception of the operation that transforms a number into its square, replacing it with an operation that transforms a number into its square and cube respectively. The subclasses therefore compute the sum of the squares/cubes between two integers.
class SumComputer(object): def __init__(self, a, b): self.a = a self.b = b def transform(self, x): raise NotImplementedError def inputs(self): return range(self.a, self.b) def compute(self): return sum(self.transform(value) for value in self.inputs()) class SquareSumComputer(SumComputer): def transform(self, x): return x * x class CubeSumComputer(SumComputer): def transform(self, x): return x * x * x
In most quarters, class inheritance for the sole purpose of code reuse has fallen out of favor.[citation needed] The primary concern is that implementation inheritance does not provide any assurance of polymorphic substitutability—an instance of the reusing class cannot necessarily be substituted for an instance of the inherited class. An alternative technique, explicit delegation, requires more programming effort, but avoids the substitutability issue.[citation needed] In C++ private inheritance can be used as a form of implementation inheritance without substitutability. Whereas public inheritance represents an "is-a" relationship and delegation represents a "has-a" relationship, private (and protected) inheritance can be thought of as an "is implemented in terms of" relationship.[12]
Another frequent use of inheritance is to guarantee that classes maintain a certain common interface; that is, they implement the same methods. The parent class can be a combination of implemented operations and operations that are to be implemented in the child classes. Often, there is no interface change between the supertype and subtype- the child implements the behavior described instead of its parent class.[13]
Inheritance vs subtyping[edit]
Further information: Subtyping
Inheritance is similar to but distinct from subtyping.[14] Subtyping enables a given type to be substituted for another type or abstraction, and is said to establish an is-a relationship between the subtype and some existing abstraction, either implicitly or explicitly, depending on language support. The relationship can be expressed explicitly via inheritance in languages that support inheritance as a subtyping mechanism. For example, the following C++ code establishes an explicit inheritance relationship between classes B and A, where B is both a subclass and a subtype of A, and can be used as an A wherever a B is specified (via a reference, a pointer or the object itself).
class A { public: void DoSomethingALike() const {} }; class B : public A { public: void DoSomethingBLike() const {} }; void UseAnA(A const& some_A) { some_A.DoSomethingALike(); } void SomeFunc() { B b; UseAnA(b); // b can be substituted for an A. }
In programming languages that do not support inheritance as a subtyping mechanism, the relationship between a base class and a derived class is only a relationship between implementations (a mechanism for code reuse), as compared to a relationship between types. Inheritance, even in programming languages that support inheritance as a subtyping mechanism, does not necessarily entail behavioral subtyping. It is entirely possible to derive a class whose object will behave incorrectly when used in a context where the parent class is expected; see the Liskov substitution principle. [15] (Compare connotation/denotation.) In some OOP languages, the notions of code reuse and subtyping coincide because the only way to declare a subtype is to define a new class that inherits the implementation of another.
Design constraints[edit]
Using inheritance extensively in designing a program imposes certain constraints.
For example, consider a class Person that contains a person's name, date of birth, address and phone number. We can define a subclass of Person called Student that contains the person's grade point average and classes taken, and another subclass of Person called Employee that contains the person's job-title, employer, and salary.
In defining this inheritance hierarchy we have already defined certain restrictions, not all of which are desirable:
Singleness
Using single inheritance, a subclass can inherit from only one superclass. Continuing the example given above, Person can be either a Student or an Employee, but not both. Using multiple inheritance partially solves this problem, as one can then define a StudentEmployee class that inherits from both Student and Employee. However, in most implementations, it can still inherit from each superclass only once, and thus, does not support cases in which a student has two jobs or attends two institutions. The inheritance model available in Eiffel makes this possible through support for repeated inheritance.
Static
The inheritance hierarchy of an object is fixed at instantiation when the object's type is selected and does not change with time. For example, the inheritance graph does not allow a Student object to become a Employee object while retaining the state of its Person superclass. (This kind of behavior, however, can be achieved with the decorator pattern.) Some have criticized inheritance, contending that it locks developers into their original design standards.[16]
Visibility
Whenever client code has access to an object, it generally has access to all the object's superclass data. Even if the superclass has not been declared public, the client can still cast the object to its superclass type. For example, there is no way to give a function a pointer to a Student's grade point average and transcript without also giving that function access to all of the personal data stored in the student's Person superclass. Many modern languages, including C++ and Java, provide a "protected" access modifier that allows subclasses to access the data, without allowing any code outside the chain of inheritance to access it.
The composite reuse principle is an alternative to inheritance. This technique supports polymorphism and code reuse by separating behaviors from the primary class hierarchy and including specific behavior classes as required in any business domain class. This approach avoids the static nature of a class hierarchy by allowing behavior modifications at run time and allows one class to implement behaviors buffet-style, instead of being restricted to the behaviors of its ancestor classes.
Issues and alternatives[edit]
Implementation inheritance is controversial among programmers and theoreticians of object-oriented programming since at least the 1990s. Among them are the authors of Design Patterns, who advocate interface inheritance instead, and favor composition over inheritance. For example, the decorator pattern (as mentioned above) has been proposed to overcome the static nature of inheritance between classes. As a more fundamental solution to the same problem, role-oriented programming introduces a distinct relationship, played-by, combining properties of inheritance and composition into a new concept.[citation needed]
According to Allen Holub, the main problem with implementation inheritance is that it introduces unnecessary coupling in the form of the "fragile base class problem":[4] modifications to the base class implementation can cause inadvertent behavioral changes in subclasses. Using interfaces avoids this problem because no implementation is shared, only the API.[16] Another way of stating this is that "inheritance breaks encapsulation".[17] The problem surfaces clearly in open object-oriented systems such as frameworks, where client code is expected to inherit from system-supplied classes and then substituted for the system's classes in its algorithms.[4]
Reportedly, Java inventor James Gosling has spoken against implementation inheritance, stating that he would not include it if he were to redesign Java.[16] Language designs that decouple inheritance from subtyping (interface inheritance) appeared as early as 1990;[18] a modern example of this is the Go programming language.
Complex inheritance, or inheritance used within an insufficiently mature design, may lead to the yo-yo problem.
Another issue with inheritance is that subclasses must be defined in code, which means that program users cannot add new subclasses. Other design patterns (such as Entity–component–system) allow program users to define variations of an entity at runtime.
See also[edit]
Circle-ellipse problem
Defeasible reasoning
Interface (computing)
Method overriding
Mixin
Polymorphism (computer science)
Protocol
Role-oriented programming
The Third Manifesto
Trait (computer programming)
Virtual inheritance
Notes[edit]
Jump up ^ This is generally true only in statically-typed class-based OO languages, such as C++, C#, Java, and Scala.
References[edit]
Jump up ^ https://www.cse.msu.edu/~cse870/Input/SS2002/MiniProject/Sources/DRC.pdf
Jump up ^ Cook, William R.; Hill, Walter; Canning, Peter S. (1990). Inheritance is not subtyping. Proc. 17th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages (POPL). pp. 125–135. CiteSeerX 10.1.1.102.8635  . doi:10.1145/96709.96721. ISBN 0-89791-343-4.
Jump up ^ Cardelli, Luca (1993). Typeful Programming (Technical report). Digital Equipment Corporation. p. 32–33. SRC Research Report 45.
^ Jump up to: a b c Mikhajlov, Leonid; Sekerinski, Emil (1998). A study of the fragile base class problem (PDF). Proc. 12th European Conf. on Object-Oriented Programming (ECOOP). Lecture Notes in Computer Science. 1445. pp. 355–382. doi:10.1007/BFb0054099. ISBN 978-3-540-64737-9.
Jump up ^ Tempero, Ewan; Yang, Hong Yul; Noble, James (2013). What programmers do with inheritance in Java (PDF). ECOOP 2013–Object-Oriented Programming. pp. 577–601.
Jump up ^ Mike Mintz, Robert Ekendahl (2006). Hardware Verification with C++: A Practitioner’s Handbook. United States of America: Springer. p. 22. ISBN 0-387-25543-5.
Jump up ^ Bjarne Stroustrup. The Design and Evolution of C++. p. 417.
Jump up ^ "Java Multiple Inheritance". HowToDoInJava. Retrieved 28 June 2017.
Jump up ^ Herbert Schildt (2003). The complete reference C++. Tata McGrawhill Education Private Limited. p. 417. ISBN 0-07-053246-X.
Jump up ^ E Balagurusamy (2010). Object Orientedprogramming With C++. Tata McGrawhill Education Pvt. Ltd. p. 213. ISBN 0-07-066907-4.
Jump up ^ http://msdn.microsoft.com/en-us/library/ebca9ah3.aspx override(C# Reference)
Jump up ^ "GotW #60: Exception-Safe Class Design, Part 2: Inheritance". Gotw.ca. Retrieved 2012-08-15.
Jump up ^ Dr. K. R. Venugopal, Rajkumar Buyya (2013). Mastering C++. Tata McGrawhill Education Private Limited. p. 609. ISBN 9781259029943.
Jump up ^ Cook, Hill & Canning 1990.
Jump up ^ Mitchell, John (2002). "10 "Concepts in object-oriented languages"". Concepts in programming language. Cambridge, UK: Cambridge University Press. p. 287. ISBN 0-521-78098-5.
^ Jump up to: a b c Holub, Allen (1 August 2003). "Why extends is evil". Retrieved 10 March 2015.
Jump up ^ Seiter, Linda M.; Palsberg, Jens; Lieberherr, Karl J. (1996). "Evolution of object behavior using context relations". ACM SIGSOFT Software Engineering Notes. 21 (6): 46. CiteSeerX 10.1.1.36.5053  . doi:10.1145/250707.239108.
Jump up ^ America, Pierre (1991). Designing an object-oriented programming language with behavioural subtyping (PDF). REX School/Workshop on the Foundations of Object-Oriented Languages. Lecture Notes in Computer Science. 489. pp. 60–90. doi:10.1007/BFb0019440. ISBN 978-3-540-53931-5.
Further reading[edit]
Object-Oriented Software Construction, Second Edition, by Bertrand Meyer, Prentice Hall, 1997, ISBN 0-13-629155-4, Chapter 24: Using Inheritance Well.
Implementation Inheritance Is Evil
Inheritance Is a Procedural Technique for Code Reuse by Yegor Bugayenko

Authority control
GND: 4277478-0
Retrieved from "https://en.wikipedia.org/w/index.php?title=Inheritance_(object-oriented_programming)&oldid=836565830"
Categories:
Object-oriented programming
Type systems
Hidden categories:
Articles needing expert attention with no reason or talk parameter
Articles needing expert attention from August 2009
All articles needing expert attention
Computer science articles needing expert attention
Articles needing cleanup from April 2015
All pages needing cleanup
Cleanup tagged articles with a reason field from April 2015
Wikipedia pages needing cleanup from April 2015
Articles with multiple maintenance issues
All articles with unsourced statements
Articles with unsourced statements from November 2009
Articles with unsourced statements from May 2012
Articles with unsourced statements from February 2016
Wikipedia articles with GND identifiers
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
Languages
العربية
Azərbaycanca
Беларуская (тарашкевіца)
Bosanski
Català
Čeština
Deutsch
Español
فارسی
Français
한국어
Հայերեն
हिन्दी
Íslenska
Italiano
עברית
ქართული
Latgaļu
Lietuvių
Bahasa Melayu
Nederlands
日本語
Norsk nynorsk
Polski
Português
Русский
Simple English
Српски / srpski
Suomi
Svenska
தமிழ்
Türkçe
Українська
Tiếng Việt
中文
26 more
Edit links
This page was last edited on 15 April 2018, at 15:31.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

values: mw-page-base noprint

values: mw-head-base noprint

values: firstHeading firstHeading en

values: siteSub noprint

values: jump-to-nav mw-jump

values:
note
hatnote navigation-not-searchable

attrs: class role tabindex

values: mw-collapsible-toggle button 0

values:
plainlinks metadata ambox ambox-content
presentation

values: plainlinks metadata ambox ambox-style ambox-Cleanup

values:
mw-collapsible
width:95%; margin: 0.2em 0;

values: plainlinks metadata ambox ambox-content ambox-multiple_issues compact-ambox

values:
/wiki/Behavioral_subtyping
mw-redirect
Behavioral subtyping

values: Edit section: Subclasses and superclasses

values:
/wiki/Member_function
mw-redirect
Member function

values:
/wiki/Inheritance_(computer_science)
mw-redirect
Inheritance (computer science)

values:
/wiki/Design_by_Contract
mw-redirect
Design by Contract

values:
/wiki/Method_signature
mw-redirect
Method signature

values:
/wiki/Subtype_polymorphism
mw-redirect
Subtype polymorphism

values:
/wiki/Early_binding
mw-redirect
Early binding

values:
/wiki/Single_inheritance
mw-redirect
Single inheritance

values: Edit section: Methods that cannot be overridden

values:
/wiki/Virtual_method
mw-redirect
Virtual method

values: (programming language) (page does not exist)

values: Edit section: Visibility of inherited members

values: List of object-oriented programming languages

values:
/wiki/Hiding_(programming)
mw-redirect
Hiding (programming)

values:
monospaced
font-family: monospace, monospace;

values:
/wiki/Cubic_number
mw-redirect
Cubic number

values: This claim needs references to reliable sources. (November 2009)

values:
noprint Inline-Template Template-Fact
white-space:nowrap;

values: Polymorphism in object-oriented programming

values: This claim needs references to reliable sources. (May 2012)

values:
/wiki/Diamond_problem
mw-redirect
Diamond problem

values:
/wiki/Typecast_(programming)
mw-redirect
Typecast (programming)

values:
/wiki/Composite_reuse_principle
mw-redirect
Composite reuse principle

values: This claim needs references to reliable sources. (February 2016)

values:
reflist mw-references-wrap
list-style-type: lower-alpha;

values:
nofollow
external text
//doi.org/10.1145%2F96709.96721

values:
nofollow
external text
//doi.org/10.1007%2FBFb0054099

values:
nofollow
external text
http://www.gotw.ca/gotw/060.htm

values:
nofollow
external text
//doi.org/10.1145%2F250707.239108

values:
nofollow
external text
//doi.org/10.1007%2FBFb0019440

values: -moz-column-width: 30em; -webkit-column-width: 30em; column-width: 30em; list-style-type: decimal;

values:
nofollow
external text
https://d-nb.info/gnd/4277478-0

values: Category:Articles needing expert attention with no reason or talk parameter

values: Category:Articles needing expert attention from August 2009

values: Category:All articles needing expert attention

values: Category:Computer science articles needing expert attention

values: Category:Articles needing cleanup from April 2015

values: Category:Cleanup tagged articles with a reason field from April 2015

values: Category:Wikipedia pages needing cleanup from April 2015

values: Category:Articles with multiple maintenance issues

values: Category:All articles with unsourced statements

values: Category:Articles with unsourced statements from November 2009

values: Category:Articles with unsourced statements from May 2012

values: Category:Articles with unsourced statements from February 2016

values: Category:Wikipedia articles with GND identifiers

values: Discussion about edits from this IP address [ctrl-alt-n]

values: A list of edits made from this IP address [ctrl-alt-y]

values: You are encouraged to create an account and log in; however, it is not mandatory

values: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

values:
/wiki/Special:Random
Load a random article [ctrl-alt-x]
x

values: portal navigation p-navigation p-navigation-label

values: Guidance on how to use and edit Wikipedia

values: About the project, what you can do, where to find things

values: A list of recent changes in the wiki [ctrl-alt-r]

values: portal navigation p-interaction p-interaction-label

values: List of all English Wikipedia pages containing links to this page [ctrl-alt-j]

values: Recent changes in pages linked from this page [ctrl-alt-k]

values:
/wiki/Wikipedia:File_Upload_Wizard
Upload files [ctrl-alt-u]
u

values: A list of all special pages [ctrl-alt-q]

values: Permanent link to this revision of the page

values: Link to connected data repository item [ctrl-alt-g]

values: Printable version of this page [ctrl-alt-p]

values: وراثة (حوسبة) – Arabic

values:
interlanguage-link interwiki-az
display: none;

values: Спадкаваньне (праграмаваньне) – Belarusian (Taraškievica orthography)

values:
interlanguage-link interwiki-be-x-old
display: none;

values:
interlanguage-link interwiki-bs
display: none;

values:
interlanguage-link interwiki-ca
display: none;

values: Dědičnost (objektově orientované programování) – Czech

values:
interlanguage-link interwiki-cs
display: none;

values: interlanguage-link interwiki-de badge-Q17437798 badge-goodarticle

values: وراثت (برنامه‌نویسی شیءگرا) – Persian

values:
interlanguage-link interwiki-fa
display: none;

values: 상속 (객체 지향 프로그래밍) – Korean

values:
interlanguage-link interwiki-ko
display: none;

values: Ժառանգում (ծրագրավորում) – Armenian

values:
interlanguage-link interwiki-hy
display: none;

values: वंशानुक्रम (कंप्यूटर विज्ञान) – Hindi

values:
interlanguage-link interwiki-is
display: none;

values:
interlanguage-link interwiki-it
display: none;

values: ירושה (תכנות) – Hebrew

values:
interlanguage-link interwiki-he
display: none;

values: მემკვიდრეობა (პროგრამირება) – Georgian

values:
interlanguage-link interwiki-ka
display: none;

values:
interlanguage-link interwiki-ltg
display: none;

values: Paveldėjimas (programavimas) – Lithuanian

values:
interlanguage-link interwiki-lt
display: none;

values: Pewarisan (pengaturcaraan berorientasi objek) – Malay

values:
interlanguage-link interwiki-nl
display: none;

values: 継承 (プログラミング) – Japanese

values:
interlanguage-link interwiki-ja
display: none;

values:
interlanguage-link interwiki-nn
display: none;

values:
interlanguage-link interwiki-pl
display: none;

values: Наследование (программирование) – Russian

values: Inheritance (computer science) – Simple English

values:
interlanguage-link interwiki-simple
display: none;

values: Наслеђивање (објектно-оријентисано програмирање) – Serbian

values:
interlanguage-link interwiki-sr
display: none;

values:
interlanguage-link interwiki-fi
display: none;

values:
interlanguage-link interwiki-sv
display: none;

values: மரபியல்பு (கணினியியல்) – Tamil

values:
interlanguage-link interwiki-ta
display: none;

values:
interlanguage-link interwiki-tr
display: none;

values: Успадкування (програмування) – Ukrainian

values:
interlanguage-link interwiki-uk
display: none;

values: Kế thừa (lập trình hướng đối tượng) – Vietnamese

values:
interlanguage-link interwiki-vi
display: none;

values: All languages (initial selection from common choices by you and others)

values: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Inheritance_object-oriented_programming rootpage-Inheritance_object-oriented_programming skin-vector action-view


text:
National Senior Certificate
From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (April 2010) (Learn how and when to remove this template message)
The National Senior Certificate or NSC is a high school diploma and is the main school-leaving certificate in South Africa. This certificate is commonly known as the matriculation (matric) certificate, as grade 12 is the matriculation grade. The NSC, previously known as the Further Education and Training Certificate or FETC, replaced the Senior Certificate with effect from 2008 and was phased in starting with grade 10 in 2006.
Pupils study at least seven subjects, including two compulsory official South African languages, either Mathematics or Mathematical Literacy, Life Orientation and three elective subjects.
Subjects are all taken on the same level - there is no higher or standard grade as in the past. There are three pass levels, each with different pass requirements.First is a pass with Higher certificate, one must obtain 40% in home language, 40% in two other subjects and must obtain 30% in three other subjects. A learner who passed matric with higher certificate level, cannot enroll for a University Degree nor a Diploma at an institute of higher learning. The mean mark in any subject is usually about 55. Only a small proportion of candidates score an 'A' in any subject (from as little as 2% to a maximum of about 10% in subjects taken by highly select groups.) A further 8 – 15% are likely to gain a 'B' and about 20 – 25% achieve a 'C' grade. The National Senior Certificate is a group certificate and records an aggregate mark.
The Department of Basic Education has responsibility for general educational policy to be implemented by nine provincial education departments and private providers such as the Independent Examinations Board (IEB). There are nine provincial examination boards and three independent boards, of which the IEB is the biggest. The IEB operates on a national level catering primarily for independent schools.
Contents
[hide]
1 Subject requirements
1.1 Group A: Fundamentals (Compulsory)
1.2 Group B: Electives
2 Life Orientation
3 Assessment
4 Level system (1 to 7)
5 The 5% language compensation
6 University entrance
7 See also
8 References
9 External links
Subject requirements[edit]
Learners study at least 7 subjects - 4 compulsory and at least 3 electives. All subjects are written on one grade only and are no longer written on Higher or Standard Grade. Not all schools offer the full range of Elective subjects listed here. Each school may offer subjects specific to its academic orientation. For example, Agriculture Schools offer the agriculture-orientated subjects whereas technical Schools offer the practical and mechanical-orientated subjects.
Group A: Fundamentals (Compulsory)[edit]
Two official languages:
English and Afrikaans
Northern Sotho
Mathematical Literacy
Life Orientation
Life science
Agricultural science
Geography
Group B: Electives[edit]
At least 3 subjects from the following:
Accounting
Agricultural Management Practices
Agricultural Sciences
Agricultural Technology
Art
Business Studies
Civil Technology
Computer Applications Technology (previously Computer Studies Standard Grade - Literacy)
Consumer Studies
Dance Studies
Design
Dramatic Arts
Economics
Electrical Technology
Engineering Graphics & Design
English: "Advanced Programme English" (Literature) [1]
Geography
History
Hospitality Studies (previously Home Economics)
Information Technology (previously Computer Studies Higher Grade - Programming)
Life Sciences (previously Biology)
"Advanced Programme Mathematics" (calculus, further algebra, and one of: matrices, statistics, mathematical modelling) [1]
Mechanical Technology
Music
Physical Science
Religion Studies
Second Additional Language
Third Additional Language
Tourism
Visual Arts
Life Orientation[edit]
Life Orientation (colloquially abbreviated as "LO") has been introduced into the senior high school phase as an examination subject. Life Orientation is a broad-learning subject that covers non-academic skills needed in everyday life. Life Orientation is examined, marked and moderated internally and comprises the following sections:
World of Work, helping learners find guidance in their choice of career and prepare them for the working world
Health Education, this sections includes sex education, HIV/Aids talks, pregnancy, etc.
Physical Education, involves physical exercise and training, it is done on a separate basis but eventually forms part of the Life Orientation mark
Religious Education, each South African school decides which religion to adhere to (as according to the South African schools act), learners may be exempted from these classes. In practice this means that learners may be exempted from, example, the Bible Studies class, but are compelled to attend the Religious Studies class (which deals with all religions as a study).
Citizenship and Responsibility, this section teaches learners about their rights and their duties as citizens.
Assessment[edit]
There are three types of subjects:
General Subjects
An end-of-year examination: 75% of the total mark
Portfolio (Continuous Assessment): 25% of the total mark
Practical Subjects
An end-of-year examination: 50% of the total mark
Portfolio (Continuous Assessment): 25% of the total mark
Practical component: 25% of the total mark
Language Subjects
An end-of-year examination: 50% of the total mark
Portfolio (Continuous Assessment): 25% of the total mark
Oral Examination: 25% of the total mark
Continuous Assessment (CASS) includes all the tests, examinations, tasks, activities, orals and projects done throughout the year. Matric results are usually out of 400 marks.
Level system (1 to 7)[edit]
Level 7: 80 - 100% (Outstanding achievement)
Level 6: 70 - 79% (Meritorious achievement)
Level 5: 60 - 69% (Substantial achievement)
Level 4: 50 - 59% (Moderate achievement)
Level 3: 40 - 49% (Adequate achievement)
Level 2: 30 - 39% (Elementary achievement)
Level 1: 0 - 29% (Not achieved - Fail)
The 5% language compensation[edit]
Language compensation is described by several sources:
"To the final mark is added the language compensation, which is 5% of the mark attained by the candidate for all non-language subjects, for candidates whose mother tongue is not English or Afrikaans. The 5% compensates learners for the disadvantage suffered by these candidates being instructed in a language that is not their mother tongue." [Written reply to parliamentary question in 2011 [2]]
"The compensation applies to learners whose first language is neither English nor Afrikaans and who offer an African language as their first language. They receive an additional 5% on their non-language subjects. The measure was first introduced in 1999 by the South African Certification Council." [Written reply to parliamentary question in 2007,[3]]
Dr Sizwe Mabizela, Chairperson of Council, Umalusi has provided further explanation:[4] "This is the most misunderstood concept in this country. In terms of the policy on language compensation, learners who offer an African language as Home Language and do not offer Afrikaans or English as Home language qualify for a 5% language compensation on the mark they have obtained in a non-language subject. For example a learner who obtains a mark of zero (0) out of 300 will obtain 5% of zero (which is zero) for language compensation; a learner who obtains 10 out of 300 will receive 5% of 10, which is 0,5 marks, for language compensation; a learner who obtains 100 out of 300 marks will obtain an additional 5 marks for language compensation."
This kind of compensation has some impact on pass rates, but does provide significant impact at the upper end of the scale, affecting those applying for admission to university. For example, a qualifying learner obtaining 95% would receive 95 x 1.05 = 99.75% (which rounds to 100%). A learner obtaining 40% would receive 40 x 1.05 = 42.0%.
University entrance[edit]
In addition to minimum grades required in each subject, universities either set their own entrance tests and/or use the National Benchmark Tests (NBT).[5] To study for a bachelor's degree at a South African university requires that the applicant has at least an NSC endorsed by Umalusi, with a pass of 30% in the chosen university's language of learning and teaching, as well as a level 4 or higher in the following list of designated, 19-credit subjects:
Accounting
Agricultural Sciences
Business Studies
Dramatic Arts
Economics
Engineering Graphics and Design
Geography
History
Consumer Studies
Information Technology
Languages (one language of learning and teaching at a higher education institution and two other recognised language subjects)
Life Sciences
Mathematics
Mathematical Literacy
Music
Physical Sciences
Religion Studies
Visual Arts
[6]
See also[edit]
High school#South Africa
Matriculation in South Africa
Independent Examinations Board
References[edit]
^ Jump up to: a b Technically not an NSC paper; offered by the IEB. [1]
Jump up ^ SOUTH AFRICAN NATIONAL ASSEMBLY: QUESTION 757, DATE OF PUBLICATION OF INTERNAL QUESTION PAPER: 11/03/2011 (INTERNAL QUESTION PAPER: 06/2011)
Jump up ^ SOUTH AFRICAN NATIONAL ASSEMBLY: WRITTEN REPLY TO QUESTION 469, DATE OF PUBLICATION IN INTERNAL QUESTION PAPER: 26-03-2007 (INTERNAL QUESTION PAPER NO.: 10-2007)
Jump up ^ Politicsweb, 3 January 2011, "Umalusi explains matric mark adjustments", Dr Sizwe Mabizela, 03 January 2011
Jump up ^ http://nbt.ac.za/ About NBT Retrieved 21 March 2011
Jump up ^ http://wced.pgwc.gov.za/circulars/circulars08/e33_08.html
External links[edit]
Department of Education official site
IEB official site
Retrieved from "https://en.wikipedia.org/w/index.php?title=National_Senior_Certificate&oldid=827723117"
Categories:
Education in South Africa
Secondary school qualifications
Hidden categories:
Articles needing additional references from April 2010
All articles needing additional references
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
Languages
Add links
This page was last edited on 26 February 2018, at 10:08.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

key: html

type: local

value: div

attrs: id class

values: mw-page-base noprint

values: mw-head-base noprint

value: a

attrs: id class lang

values: firstHeading firstHeading en

values: siteSub noprint

values: jump-to-nav mw-jump

value: img

attrs: alt src width height srcset data-file-width data-file-height

attrs: href class

value: td

attrs: href title

value: b

attrs: class href

values: Help:Introduction to referencing with Wiki Markup/1

value: span

value: i

value: small

value: tr

values: plainlinks metadata ambox ambox-content ambox-Refimprove

values: Edit section: Group A: Fundamentals (Compulsory)

values:
/wiki/Physical_Education
mw-redirect
Physical Education

values: Edit section: The 5% language compensation

values:
/wiki/High_school#South_Africa
mw-redirect
High school

values:
nofollow
http://nbt.ac.za/
external free

values:
reflist mw-references-wrap
list-style-type: decimal;

values:
nofollow
external text
http://www.education.gov.za

values:
nofollow
external text
http://www.ieb.co.za

values: Category:Articles needing additional references from April 2010

values: Category:All articles needing additional references

values: Discussion about edits from this IP address [ctrl-alt-n]

values: A list of edits made from this IP address [ctrl-alt-y]

values: You are encouraged to create an account and log in; however, it is not mandatory

values: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

values:
/wiki/National_Senior_Certificate
View the content page [ctrl-alt-c]
c

values: Discussion about the content page [ctrl-alt-t]

values: p-namespaces navigation vectorTabs p-namespaces-label

values:
p-variants
navigation
vectorMenu emptyPortlet
p-variants-label

values: Past revisions of this page [ctrl-alt-h]

values: p-views navigation vectorTabs p-views-label

values:
p-cactions
navigation
vectorMenu emptyPortlet
p-cactions-label

values:
mw-wiki-logo
/wiki/Main_Page
Visit the main page

values:
/wiki/Main_Page
Visit the main page [ctrl-alt-z]
z

values: Featured content – the best of Wikipedia

values: Find background information on current events

values:
/wiki/Special:Random
Load a random article [ctrl-alt-x]
x

values: portal navigation p-navigation p-navigation-label

values: Guidance on how to use and edit Wikipedia

values: About the project, what you can do, where to find things

values: A list of recent changes in the wiki [ctrl-alt-r]

values: portal navigation p-interaction p-interaction-label

values: List of all English Wikipedia pages containing links to this page [ctrl-alt-j]

values: Recent changes in pages linked from this page [ctrl-alt-k]

values:
/wiki/Wikipedia:File_Upload_Wizard
Upload files [ctrl-alt-u]
u

values: A list of all special pages [ctrl-alt-q]

values: Permanent link to this revision of the page

values: Link to connected data repository item [ctrl-alt-g]

values: Printable version of this page [ctrl-alt-p]

values: /static/images/wikimedia-button-1.5x.png 1.5x, /static/images/wikimedia-button-2x.png 2x

values: /static/images/poweredby_mediawiki_132x47.png 1.5x, /static/images/poweredby_mediawiki_176x62.png 2x

values:
suggestions
display: none; font-size: 13px;

values: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-National_Senior_Certificate rootpage-National_Senior_Certificate skin-vector action-view


text:
Jack Reacher: Never Go Back
From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Jack Reacher: Never Go Back
Theatrical release poster
Directed by
Edward Zwick
Produced by
Tom Cruise
Don Granger
Christopher McQuarrie
Screenplay by
Richard Wenk
Edward Zwick
Marshall Herskovitz
Based on
Never Go Back
by Lee Child
Starring
Tom Cruise
Cobie Smulders
Music by
Henry Jackman
Cinematography
Oliver Wood
Edited by
Billy Weber
Production
companies
Skydance Media
Cruise/Wagner Productions
Distributed by
Paramount Pictures
Release date
October 16, 2016 (2016-10-16) (New Orleans)
October 21, 2016 (2016-10-21) (United States)
Running time
118 minutes[1]
Country
United States
Language
English
Budget
$96 million (gross)[2]
$75 million (net)[2]
Box office
$162.1 million[3]
Jack Reacher: Never Go Back is a 2016 American action thriller film, directed by Edward Zwick and written by Zwick, Richard Wenk and Marshall Herskovitz, and based on the novel Never Go Back by Lee Child. A sequel to the 2012 film Jack Reacher, the film stars Tom Cruise, Cobie Smulders, Patrick Heusinger, Aldis Hodge, Danika Yarosh, and Holt McCallany. The plot follows Reacher going on the run with an Army Major who has been framed for espionage, as the two reveal a dark conspiracy.
Principal photography began on October 20, 2015, in New Orleans, and the film was released on October 21, 2016, in IMAX and conventional formats.[4] It grossed $162 million worldwide and received mixed reviews from critics.
Contents
[hide]
1 Plot
2 Cast
3 Production
4 Release
4.1 Box office
4.2 Critical response
4.3 Home media
5 References
6 External links
Plot[edit]
After dismantling a human trafficking ring, former military investigator turned vigilante drifter Jack Reacher returns to his old military headquarters to meet Major Susan Turner, whom he has been working with during his travels and his closest friend – only to learn from Colonel Sam Morgan that Turner has been accused of espionage and detained.
Turner's attorney, Colonel Bob Moorcroft, reveals that there is evidence that Turner is involved in the murders of two soldiers in Afghanistan, but Reacher believes she is being framed. Moorcroft also reveals an old acquaintance of Reacher, Candice Dutton, has filed a paternity suit against him, claiming he is the biological father of her 15-year-old daughter, Samantha Dutton. Reacher tries to reach out to Samantha, but she rebuffs him, believing he is after her biological mother due to her past as a prostitute.
Moorcroft is later killed by an unknown assassin. Reacher is framed for Moorcroft's murder and arrested and transported to the prison where Turner is being detained. Two assassins arrive to kill her, but Reacher neutralizes them, rescues her and they escape to Morgan's house, having deduced he is involved in the conspiracy, to extract information. After they leave, the assassin, revealed to be working with Morgan, kills Morgan and frames Reacher which he learns about from a friend, Sergeant Leach, when he asks her to investigate a military contractor.
Reacher and Turner uncover surveillance pictures of Samantha and surmise she is in danger, arriving at her home to find her foster parents dead and Samantha hiding in the kitchen. Reacher and Turner decide to escort Samantha to Turner's old private school for protection, but discover that she has her mobile phone with her and that the enemy probably knows exactly where they are. They discard the phone and make a quick exit, during which Samantha steals a backpack from one of the students to use the credit cards.
Reacher, Turner and Samantha travel to New Orleans in search of Daniel Prudhomme, the only eye-witness to the murders for which Turner has been framed. They find him in a derelict warehouse filled with drug addicts and learn that Prudhomme is connected to Parasource, a private military organization that is trying to cover up the murders. Reacher contacts Turner's friend, Captain Anthony Espin, to move Prudhomme into custody, but they are ambushed by assassins and Prudhomme is killed, while Reacher rescues a wounded Espin and finds out that the assassins are Parasource contractors. Parasource's CEO, General James Harkness, then sends the Hunter to capture Samantha after she uses a credit card to order room service.
Reacher and Turner, along with Espin, acting on information provided by Prudhomme, intercept a flight of weapons due to enter the country, where they confront Harkness and his men and accuse them of corruption. Upon opening the crates, however, Espin finds weapons as declared in the flight manifest. Before Turner can be re-arrested, Reacher opens up one of the weapons and discovers that they are filled with opium. They learn that Harkness framed Turner, who had been investigating his activities, for the murders of two soldiers who discovered that Harkness was selling weapons to insurgents and smuggling drugs into the United States. Espin and his men then arrest Harkness, clearing Reacher's and Turner's names.
The Hunter and his men locate and chase Samantha through the streets to lure Reacher into a confrontation. Turner kills one of the assassins, whilst Reacher takes out another one on the rooftop. The Hunter captures Samantha and threatens to kill her, but she manages to escape and steal his gun. Reacher then tackles the Hunter onto another rooftop, briefly incapacitating both of them, and they have a vicious fight that culminates with Reacher breaking the Hunter's arm, leg and neck, before dropping him off the rooftop. Reacher then admits to Samantha he might be her father.
Following Harkness' arrest, Turner is reinstated in her old position and goes back to her office, where her colleagues and a recovering Captain Espin all welcome her back. Reacher promises to keep in touch before meeting Samantha at a diner to meet Candice, Samantha's mother, whom Reacher surmises he will recognize, as he remembers every woman he has slept with. Samantha reveals that the waitress that had been serving him is in fact Candice, and that Reacher cannot be her father, as neither had recognized each other. Reacher and Samantha then reluctantly part.
A short time later, while Reacher is walking along a road, he is surprised when a phone Samantha had slipped into his pocket rings. He finds a text message from her reading, "Miss me yet?". Reacher smiles as he sticks out his thumb to hitch a ride.
Cast[edit]
Tom Cruise as Jack Reacher
Cobie Smulders as Major Susan Turner[5]
Aldis Hodge[6] as Captain Anthony Espin, Turner’s friend
Danika Yarosh[7] as Samantha Dutton, the girl Jack Reacher protects
Patrick Heusinger[8] as the Hunter
Holt McCallany[9] as Colonel Sam Morgan
Austin Hebert as Daniel Prudhomme[9]
Robert Catrini as Colonel Bob Moorcroft,[10] Turner’s attorney
Robert Knepper as General James Harkness[11]
Jessica Stroup as Lieutenant Sullivan
Madalyn Horcher as Sergeant Leach
Teri Wyble as Mrs. Prudhomme
Production[edit]
While Jack Reacher was intended to be a tent-pole for a film series, it was initially reported that a sequel would be unlikely due to its lackluster run at the North American box office.[12] However, in February 2013, a sequel became more likely after the film surpassed a gross of $200 million worldwide.[13] On December 9, 2013, it was announced that Paramount Pictures and Skydance Media were moving forward with the development of a second film, reportedly based on the 2013 Jack Reacher novel Never Go Back.[14]
On May 14, 2014, it was reported that Tom Cruise would reprise his role as Jack Reacher.[15]
On May 19, 2015, Deadline reported that Edward Zwick would re-team with Cruise, and direct the film. Zwick wrote the script along with Marshall Herskovitz, and also Richard Wenk. Zwick and Cruise had previously worked together on The Last Samurai.[16] On August 14, 2015, Cobie Smulders was added to the cast to play the female lead.[5] On September 15, Danika Yarosh signed on to star in the film,[7] on September 17, Aldis Hodge was added to the cast,[6] and on September 22, Patrick Heusinger was cast in the villain role.[8] On October 20, Holt McCallany joined the film, as did Austin Hebert.[9] On November 12, 2015, Robert Catrini joined,[10] and on January 20, 2016, Robert Knepper was cast as General Harkness, a retired general, and CEO of a private military firm.[11]
Principal photography on the film began on October 20, 2015, in New Orleans, Louisiana.[17] On November 23, 2015, filming took place in Baton Rouge,[18] and in January 2016, filming also took place in St. Francisville.[19]
Henry Jackman composed the film's music, making this Zwick's first film since Blood Diamond (2006) not to be scored by James Newton Howard.
Release[edit]
On June 14, 2016, Entertainment Weekly premiered a preview of the first trailer, with Cobie Smulders introducing the footage. The official Jack Reacher Twitter account announced that a full trailer would be released on June 22, 2016.[citation needed] A browser game, titled Jack Reacher: Never Stop Punching, was also released to promote the film.[20]
In September 2015, Paramount set Jack Reacher: Never Go Back a release date of October 21, 2016.[21]
Box office[edit]
Jack Reacher: Never Go Back grossed $58.7 million in the United States and Canada, and $103.4 million in other countries, for a worldwide total of $162.1 million, against a production budget of $96 million.[3][22]
In the United States and Canada, the film opened alongside Ouija: Origin of Evil, Keeping Up with the Joneses and Boo! A Madea Halloween, and was projected to gross around $20 million from 3,780 theaters in its opening weekend, with the studio expecting a debut of about $17 million.[23] It earned $1.3 million in midnight showings at 1,850 theaters, slightly above Oblivion's $1.1 million and under Edge of Tomorrow's $1.8 million.[24] For the weekend, the film opened to $23 million, finishing in second place, behind Boo! A Madea Halloween.[25][26] In its second weekend, the film dropped by 58.2%, grossing $9.6 million, and finishing third at the box office, behind A Madea Halloween ($16.7 million) and newcomer Inferno ($15 million).[27]
Outside North America, the film was released in 42 countries in conjunction with its United States and Canada debut, representing about 75% of the film's total marketplace internationally.[28]
In 30 markets, the film posted the biggest opening in the series. Outside of the United States and China, the United Kingdom and Ireland ($3.3 million), France ($2.8 million), Australia ($2 million), Russia ($2 million), Indonesia ($1.9 million), Taiwan ($1.6 million) and the UAE ($1.3 million) posted the top openings.[28]
Critical response[edit]
On Rotten Tomatoes, the film has an approval rating of 37%, based on 219 reviews, with an average rating of 5.2/10. The website's critical consensus reads, "Monotonously formulaic, Jack Reacher: Never Go Back is one action-thriller sequel whose title also serves as a warning."[29] On Metacritic, the film has a weighted average score 47 out of 100, based on 43 critics, indicating "mixed or average reviews".[30] Audiences polled by CinemaScore gave the film an average grade of "B+" on an A+ to F scale, while the first film received an "A−".[31][24]
This section needs expansion. You can help by adding to it. (July 2018)
Home media[edit]
Jack Reacher: Never Go Back was released on Digital HD on January 17, 2017,[32] and on Blu-ray, Ultra HD Blu-ray and DVD on January 31, 2017.[33][34]
By May 2018, the film had made $14.5 million in domestic region video sales.[35]
References[edit]
Jump up ^ "Jack Reacher: Never Go Back (12A)". British Board of Film Classification. October 6, 2016. Retrieved October 6, 2016.
^ Jump up to: a b FilmL.A. (May 2017). "2016 Feature Film Study" (PDF). FilmL.A. Feature Film Study: 23. Retrieved May 3, 2018.
^ Jump up to: a b "Jack Reacher: Never Go Back (2016)". Box Office Mojo. Retrieved August 8, 2017.
Jump up ^ Jack Reacher: Never Go Back - The IMAX Experience
^ Jump up to: a b Sneider, Jeff; Verhoeven, Beatrice (August 14, 2015). "'Avengers' Star Cobie Smulders Poised to Join Tom Cruise in 'Jack Reacher 2' (Exclusive)". TheWrap. Retrieved August 16, 2015.
^ Jump up to: a b Kroll, Justin (September 17, 2015). "'Jack Reacher 2' Eyes 'Straight Outta Compton' Actor (EXCLUSIVE)". Variety. Retrieved October 21, 2015.
^ Jump up to: a b Kroll, Justin (September 15, 2015). "'Jack Reacher': 'Heroes Reborn' Actress Eyed to Join Tom Cruise (EXCLUSIVE)". Variety. Retrieved October 21, 2015.
^ Jump up to: a b Kit, Borys (September 22, 2015). "Tom Cruise's 'Jack Reacher 2' Finds Its Villain". The Hollywood Reporter. Retrieved October 21, 2015.
^ Jump up to: a b c Kroll, Justin (October 20, 2015). "'Jack Reacher': Holt McCallany Rounds Out Cast of Tom Cruise's Sequel". Variety. Retrieved October 21, 2015.
^ Jump up to: a b A. Lincoln, Ross (November 12, 2015). "Robert Catrini Joins 'Jack Reacher' Sequel; Will Yun Lee Set For 'She Has A Name'". Deadline Hollywood. Retrieved November 14, 2015.
^ Jump up to: a b Lincoln, Ross A. (January 20, 2016). "Robert Knepper Cast In 'Jack Reacher: Never Go Back'". Deadline Hollywood. Retrieved January 22, 2016.
Jump up ^ McClintock, Pamela (January 14, 2013). "Tom Cruise's 'Jack Reacher' Unlikely to Get Sequel". The Hollywood Reporter. Prometheus Global Media. Retrieved May 24, 2015.
Jump up ^ Trumbore, Dave (February 22, 2013). "JACK REACHER Sequel Possibly in the Works at Paramount and Skydance". Collider. Retrieved May 24, 2015.
Jump up ^ Fleming, Jr., Mike (December 9, 2013). "Jack Reacher's Back; Tom Cruise Developing New Bestseller 'Never Go Back'". Deadline Hollywood. Penske Media Corporation. Retrieved May 24, 2015.
Jump up ^ "Jack Reacher 2 Movie To Bring Back 'Top Gun' Star Tom Cruise With A 'Teenage Female Sidekick' Based On Lee Child's Novel 'Never Go Back'". KpopStarz. May 14, 2014. Retrieved May 24, 2015.
Jump up ^ Fleming Jr, Mike (May 19, 2015). "Ed Zwick In Talks To Direct 'Jack Reacher' Sequel". Deadline Hollywood. Retrieved May 24, 2015.
Jump up ^ Evry, Max (October 20, 2015). "Jack Reacher: Never Go Back Begins Filming with Tom Cruise". comingsoon.net. Retrieved October 21, 2015.
Jump up ^ "'Jack Reacher 2: Never Go Back' Casting Call for Military in Baton Rouge". Project Casting. November 11, 2015. Retrieved November 12, 2015.
Jump up ^ Erica, Ells (January 8, 2016). "Extras Casting Information for "Jack Reacher 2: Never Go Back" in NOLA - Auditions Free". Auditions Free. Retrieved January 11, 2016.
Jump up ^ Paget, Mat (September 21, 2016). "Jack Reacher Video Game Has a Great Name". GameSpot. Retrieved September 21, 2016.
Jump up ^ McNary, Dave (September 2, 2015). "Tom Cruise's 'Jack Reacher 2' Set for October 2016 Release". Variety. Retrieved September 6, 2015.
Jump up ^ FilmL.A. (May 2017). "2016 Feature Film Study" (PDF). FilmL.A. Feature Film Study.
Jump up ^ "'Jack Reacher: Never Go Back' to battle 'Ouija' sequel and 'Boo! A Madea Halloween' at box office". Los Angeles Times.
^ Jump up to: a b D'Alessandro, Anthony (October 23, 2016). "'Madea' To Push Well Past $27M As 'Jack Reacher' Takes $22M to $23M; 'Joneses' Can't Keep Up – Sun. AM Update". Deadline Hollywood. Retrieved October 23, 2016.
Jump up ^ McClintock, Pamela (October 23, 2016). "Box Office: 'Boo! A Madea Halloween' Scares Off Tom Cruise's 'Jack Reacher' With $27.6M". The Hollywood Reporter. Retrieved October 23, 2016.
Jump up ^ Mendelson, Scott (October 23, 2016). "Box Office: Tom Cruise's 'Jack Reacher' Nabs $23M Weekend, 'Ouija' Gets 'Tomb Raider' Trapped". Forbes. Retrieved October 23, 2016.
Jump up ^ "'Inferno' Takes on the World Series as 'Doctor Strange' Debuts Overseas". Box Office Mojo.
^ Jump up to: a b Tartaglione, Nancy (October 23, 2016). "'Jack Reacher' Cuffs $31M; 'Girl', 'Inferno', 'Peregrine' At Milestones – Intl Box Office". Deadline Hollywood. Retrieved October 24, 2016.
Jump up ^ "Jack Reacher: Never Go Back (2016)". Rotten Tomatoes. Fandango Media. Retrieved March 21, 2018.
Jump up ^ "Jack Reacher: Never Go Back Reviews". Metacritic. CBS Interactive. Retrieved October 21, 2016.
Jump up ^ Rebecca Pahle (Oct 24, 2016). "'Madea' drop kicks 'Jack Reacher' as 'Moonlight' sets per-theatre average record". FilmJournal. Retrieved 2018-07-15.
Jump up ^ "Jack Reacher: Never Go Back". DVDs Release Dates. Retrieved December 23, 2016.
Jump up ^ "Jack Reacher: Never Go Back Blu-ray and Digital HD Announcement". ComingSoon.net. Retrieved 23 December 2016.
Jump up ^ Pacis, Mark. "Blu-ray details released for 'Jack Reacher: Never Go Back'". Nerd Reactor. Retrieved December 23, 2016.
Jump up ^ "Jack Reacher: Never Go Back (2016) - Financial Information". The Numbers. Retrieved 2018-01-06.
External links[edit]
Official website
Jack Reacher: Never Go Back on IMDb
show
v
t
e
Jack Reacher books by Lee Child
Novel series
Killing Floor
Die Trying
Tripwire
The Visitor
Echo Burning
Without Fail
Persuader
The Enemy
One Shot
The Hard Way
Bad Luck and Trouble
Nothing to Lose
Gone Tomorrow
61 Hours
Worth Dying For
The Affair
A Wanted Man
Never Go Back
Personal
Make Me
Night School
The Midnight Line
Anthologies
No Middle Name
Films
Jack Reacher (2012)
Jack Reacher: Never Go Back (2016)
show
v
t
e
Films directed by Edward Zwick
About Last Night (1986)
Glory (1989)
Leaving Normal (1992)
Legends of the Fall (1994)
Courage Under Fire (1996)
The Siege (1998)
The Last Samurai (2003)
Blood Diamond (2006)
Defiance (2008)
Love & Other Drugs (2010)
Pawn Sacrifice (2014)
Jack Reacher: Never Go Back (2016)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Jack_Reacher:_Never_Go_Back&oldid=850334589"
Categories:
2016 films
English-language films
2010s action thriller films
2010s crime thriller films
American films
American action thriller films
American crime thriller films
American sequel films
Detective films
IMAX films
Films scored by Henry Jackman
Films about Halloween
Films based on British novels
Films based on thriller novels
Films directed by Edward Zwick
Films produced by Tom Cruise
Films set in 2016
Films shot in New Orleans
Paramount Pictures films
Skydance Media films
Hidden categories:
All articles with unsourced statements
Articles with unsourced statements from October 2016
Articles to be expanded from July 2018
All articles to be expanded
Articles using small message boxes
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
Languages
العربية
Čeština
Cymraeg
Deutsch
Español
فارسی
Français
한국어
Bahasa Indonesia
Italiano
Magyar
Nederlands
日本語
Norsk
Português
Русский
Српски / srpski
Suomi
Svenska
ไทย
Türkçe
Українська
Tiếng Việt
粵語
中文
16 more
Edit links
This page was last edited on 15 July 2018, at 06:22 (UTC).
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

values: mw-page-base noprint

values: mw-head-base noprint

values: firstHeading firstHeading en

values: siteSub noprint

values: mw-jump-link #mw-head

values: mw-jump-link #p-search

value: th

attrs: colspan class style

attrs: alt src width height class srcset data-file-width data-file-height

attrs: colspan style

attrs: scope style

value: li

values:
/wiki/Blood_Diamond_(film)
mw-redirect
Blood Diamond (film)

values: This claim needs references to reliable sources. (October 2016)

values:
noprint Inline-Template Template-Fact
white-space:nowrap;

values: plainlinks metadata ambox mbox-small-left ambox-content

values:
/wiki/Fandango_Media
mw-redirect
Fandango Media

values:
nofollow
external text
http://www.jackreachermovie.com

values:
nofollow
https://www.imdb.com/title/tt3393786/
external text

values:
/wiki/The_Hard_Way_(novel)
mw-redirect
The Hard Way (novel)

values: nowraplinks collapsible autocollapse navbox-inner mw-collapsible mw-made-collapsible mw-collapsed

values: Category:All articles with unsourced statements

values: Category:Articles with unsourced statements from October 2016

values: Category:Articles to be expanded from July 2018

values: Category:Articles using small message boxes

values: Discussion about edits from this IP address [ctrl-alt-n]

values: A list of edits made from this IP address [ctrl-alt-y]

values: You are encouraged to create an account and log in; however, it is not mandatory

values: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

values:
/wiki/Jack_Reacher:_Never_Go_Back
View the content page [ctrl-alt-c]
c

values: Discussion about the content page [ctrl-alt-t]

values: p-namespaces navigation vectorTabs p-namespaces-label

values:
p-variants
navigation
vectorMenu emptyPortlet
p-variants-label

values: Past revisions of this page [ctrl-alt-h]

values: p-views navigation vectorTabs p-views-label

values:
p-cactions
navigation
vectorMenu emptyPortlet
p-cactions-label

values:
mw-wiki-logo
/wiki/Main_Page
Visit the main page

values:
/wiki/Main_Page
Visit the main page [ctrl-alt-z]
z

values: Featured content – the best of Wikipedia

values: Find background information on current events

values:
/wiki/Special:Random
Load a random article [ctrl-alt-x]
x

values: جاك ريتشر: لا عودة مطلقا – Arabic

values:
interlanguage-link interwiki-cs
display: none;

values:
interlanguage-link interwiki-cy
display: none;

values: جک ریچر: هرگز بازنگرد – Persian

values:
interlanguage-link interwiki-fa
display: none;

values: 잭 리처: 네버 고 백 – Korean

values:
interlanguage-link interwiki-ko
display: none;

values: Jack Reacher: Never Go Back – Indonesian

values: Jack Reacher - Punto di non ritorno – Italian

values:
interlanguage-link interwiki-it
display: none;

values: Jack Reacher: Nincs visszaút – Hungarian

values:
interlanguage-link interwiki-hu
display: none;

values:
interlanguage-link interwiki-nl
display: none;

values:
interlanguage-link interwiki-no
display: none;

values: Jack Reacher: Never Go Back – Portuguese

values: Джек Ричер 2: Никогда не возвращайся – Russian

values: Џек Ричер: Без повратка – Serbian

values:
interlanguage-link interwiki-sr
display: none;

values:
interlanguage-link interwiki-fi
display: none;

values:
interlanguage-link interwiki-sv
display: none;

values: ยอดคนสืบระห่ำ 2 – Thai

values:
interlanguage-link interwiki-th
display: none;

values:
interlanguage-link interwiki-tr
display: none;

values: Джек Річер: Не відступай – Ukrainian

values:
interlanguage-link interwiki-uk
display: none;

values: Jack Reacher: Không quay đầu – Vietnamese

values:
interlanguage-link interwiki-vi
display: none;

values: 烈探狙擊：誓不回頭 – Cantonese

values:
interlanguage-link interwiki-zh-yue
display: none;

values: 神隱任務：永不回頭 – Chinese

values: All languages (initial selection from common choices by you and others)

values: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Jack_Reacher_Never_Go_Back rootpage-Jack_Reacher_Never_Go_Back skin-vector action-view