1. Introduction
Inheritance is one of the fundamental principles of Object-Oriented Programming (OOP). It allows a new class to inherit properties and methods from an existing class. In this tutorial, we will delve into the concept of inheritance in Swift by building upon our previous example with the Person class.
2. Program Overview
1. We'll start with the Person class as the base or superclass.
2. We'll then create a Student class that will inherit properties and methods from the Person class, making Person the superclass and Student the subclass.
3. The Student class will have an additional property for studentID.
4. We'll also override a method in the Student class to showcase how methods from the superclass can be overridden in a subclass.
3. Code Program
// Define the base class (superclass) - Person
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func introduce() {
print("Hello! My name is \(name) and I am \(age) years old.")
}
}
// Define the subclass - Student which inherits from Person
class Student: Person {
var studentID: String
// Initializer for the Student class
init(name: String, age: Int, studentID: String) {
self.studentID = studentID
super.init(name: name, age: age)
}
// Overriding the introduce method from the superclass
override func introduce() {
super.introduce()
print("I am a student with ID: \(studentID).")
}
}
// Creating an instance of the Student class
let alice = Student(name: "Alice", age: 20, studentID: "S12345")
alice.introduce()
Output:
Hello! My name is Alice and I am 20 years old.
I am a student with ID: S12345.
4. Step By Step Explanation
1. We begin with the Person class, which acts as our superclass. It has properties for name and age and a method introduce() that prints out an introduction.
2. We then declare the Student class with the syntax class Student: Person. The colon (:) indicates that Student is inheriting from Person.
3. The Student class introduces an additional property, studentID.
4. In the initializer of the Student class, after setting its own property (studentID), we call the initializer of the superclass with super.init(name: name, age: age).
5. We override the introduce method in the Student class. The override keyword informs Swift that we intend to override a method in the superclass. Inside this method, we first call the introduce method of the superclass using super.introduce(). Then, we add an additional print statement for the student's ID.
6. Finally, we create an instance of the Student class and call the introduce method on it.
Inheritance provides a way to create a new class based on an existing class, enabling code reusability and establishing a natural hierarchy between objects.
Related Swift Examples:
Swift Hello World Program
Swift Program to Add Two Numbers
Swift Program to Subtract Two Numbers
Swift Program to Multiply Two Numbers
Swift Program to Divide Two Numbers
Swift Program to Find Remainder
Swift Program to Check Even or Odd
Swift Program to Find Factorial of a Number
Swift Program to Generate Fibonacci Series
Swift Program to Swap Two Numbers Without Using Temporary Variable
Swift Program to Find Largest Among Three Numbers
Swift Program to Calculate the Area of a Circle
Swift Program to Reverse a Number
Swift Program to Make a Simple Calculator
Swift Program to Check Palindrome
Swift Program to Count Number of Digits in an Integer
Swift Program to Sum of Natural Numbers
Swift Program to Display Times Table
Swift Program to Check Prime Number
Swift Program to Find LCM
Swift Program to Find GCD
Swift Program to Find the Power of a Number
Swift Program to Split a String into Words
Swift Program to Check Leap Year
Swift Program to Join Two Strings
Swift Program to Check Armstrong Number
Swift Program to Find Sum of Array Elements
Swift Program to Find the Largest Element of an Array
Swift Program to Perform Matrix Addition
Swift Program to Transpose a Matrix
Swift Program to Multiply Two Matrices
Swift Program to Find Length of a String
Swift Program to Copy One String to Another String
Swift Program to Concatenate Two Strings
Swift Program to Search for a Character in a String
Swift Program to Count Frequency of a Character in String
Swift Program to Create a Simple Class and Object
Swift Program to Implement Inheritance
Swift Program to Handle Simple Exceptions
Swift Variables and Constants Example
Swift Data Types (Int, Double, String) Example
Swift Optionals and Optional Binding Example
Swift Tuples Example
Swift Array Example
Swift Dictionary Example
Swift Set Example
Swift Closures Example
Swift Enums Example
Swift Structures Example
Swift Properties (Stored, Computed) Example
Swift Methods (Instance, Type) Example
Swift Subscripts Example
Swift Inheritance and Overriding Example
Swift Protocols Example
Swift Extensions Example
Swift Generics and Generic Functions Example
Swift Error Handling with Do-Catch Example
Swift Guard Statement Example
Swift Defer Statement Example
Swift Type Casting (as, is, as?) Example
Swift Access Control Example
Swift Attributes (@available, @discardableResult) Example
Swift Pattern Matching Example
Swift Switch Statement and Cases Example
Swift For-In Loop Example
Swift While and Repeat-While Loops Example
Swift Conditional Statements (If, If-Else, Ternary) Example
Swift Operators Example
Swift Memory Management Example
Swift Strong, Weak, and Unowned References Example
Swift Initialization and Deinitialization Example
Swift Protocol-Oriented Programming Example
Swift Nested Types Example
Swift Type Aliases Example
Swift Dynamic Member Lookup Example
Swift Lazy Stored Properties Example
Swift KeyPaths Example
Swift String Manipulation and Methods Example
Swift Regular Expressions Example
Swift
Swift Programs
Comments
Post a Comment