I have two classes that each has one identical function `message` in my example and my goal is to consolidate two functions into one to reduce the maintenance work. I have headed lots of document and found `protocol` may be the way to do it. However based on the example [Example 1: Swift Protocol](https://www.programiz.com/swift-programming/protocols). i still do not understand how i can call the `print` function inside the message function under protocol Greet with accessing the variable `name`

```
protocol Greet {
  // blueprint of property
  var name: String { get }

  // blueprint of a method 
  func message() // ???? how to write the print function and access to name variable ??
} 

// conform class to Greet protocol
class Employee: Greet {

  // implementation of property
  var name = "Perry"

  // implementation of method
  func message() {
    print("Good Morning", name)
  }
}

class Student: Greet {

  var name = "student abc"

  func message() {
    print("Good Morning", name)
  }
}

var employee1 = Employee()
employee1.message()

var student = Student()
student.message()

```