BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
URL:https://www.learndesk.us/class/6534923311644672/lesson/c1b9db29d5785176cbf1bbc6c2dac933?ref=outlook-calendar
SUMMARY:Notes
DTSTART;TZID=America/Los_Angeles:20260502T190000
DTEND;TZID=America/Los_Angeles:20260502T200000
LOCATION:https://www.learndesk.us/class/6534923311644672/lesson/c1b9db29d5785176cbf1bbc6c2dac933?ref=outlook-calendar
DESCRIPTION: Week 6 Notes
=====================================================================

* Homework Solution

func sum(list: [Float]) -> Float {
      var sum: Float = 0
      list.forEach({ (n: Float) -> () in
      		     sum += n                
       })
      return sum
}

* Object-Oriented Programming (OO)

- So far program is a soup, no organization!
- OO is for organizing...

* Interfaces (Java), Protocals (Swift)

- Describes an Interface, without an implementation
- Specifies what things should a future implementation conform to

protocol Employee {
    var name: String { get set }
    var id: Int { get }
    func calcWagesForMonth() -> Float
}

- The first two are "properties" (accessed by .)
- { get } sepcific it's a read-only property
- { get set } means it's it be changed as well
- Third one is a function (sometimes called a "method")
- An interface always declares a new (user-defined) type!
  - Employee is now a legimitate Swift type in our program...
- Cannot specify...

https://www.learndesk.us/class/6534923311644672/lesson/c1b9db29d5785176cbf1bbc6c2dac933?ref=outlook-calendar
STATUS:CONFIRMED
SEQUENCE:3
BEGIN:VALARM
TRIGGER:-PT10M
DESCRIPTION:Class Reminder
ACTION:DISPLAY
END:VALARM
END:VEVENT
END:VCALENDAR