- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.1k
Closed
Labels
CommittedThe team has roadmapped this issueThe team has roadmapped this issueSuggestionAn idea for TypeScriptAn idea for TypeScript
Milestone
Description
As a continuation of #6, which allows the abstract modifier on class declarations, we should extend this to class methods.
Relevant points:
- An abstractmethod may only be declared in anabstractclass
- abstractmethods may not have implementations
- abstractmethods may not be- private, but may be- protected
- It is an error to invoke an abstract method via superin a derived clas
- Fields may not be abstract
- Property getters / setters may not be abstract
- A class must be marked abstractif it does not overwrite all of its abstract base class'sabstractmethods
- All overloads of a method must have, or not have, the abstractmodifier
- Static methods may not be abstract
- abstractmodifier must come after- publicor- protectedmodifier
Secondary clarifications:
- abstracthas no impact on assignability / subtype / supertype relations
syamn
Metadata
Metadata
Assignees
Labels
CommittedThe team has roadmapped this issueThe team has roadmapped this issueSuggestionAn idea for TypeScriptAn idea for TypeScript