什麼是物件導向程式設計?

在 R 中使用 S3 與 R6 的物件導向程式設計

Richie Cotton

Data Evangelist at DataCamp

ch1_1-what-is-oop.003.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.004.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.005.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.006.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.007.png

                    <- function(       ) {


}
在 R 中使用 S3 與 R6 的物件導向程式設計

function

ch1_1-what-is-oop.007.png

calculate_something  <- function(       ) {
  # do something

}
在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.010.png

calculate_something  <- function(x,  y, z) {
  # do something

}
在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.012.png

calculate_something  <- function(x,  y, z) {
  # do something
  return(the_result)
}
在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.014.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.015.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.016.png

在 R 中使用 S3 與 R6 的物件導向程式設計

 

 

 

方法其實就是在 OOP 情境下談的函式

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.019.png

在 R 中使用 S3 與 R6 的物件導向程式設計

 

 

list

 

 

environment

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.024.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.026.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.028.png

在 R 中使用 S3 與 R6 的物件導向程式設計

 

Tidyverse logo.   dplyr logo.

在 R 中使用 S3 與 R6 的物件導向程式設計

 

 

什麼時候適合用 OOP?

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.034.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.036.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.038.png

在 R 中使用 S3 與 R6 的物件導向程式設計

ch1_1-what-is-oop.040.png

在 R 中使用 S3 與 R6 的物件導向程式設計

重點整理

  • 函數式程式設計中,先想函式
  • 物件導向程式設計(OOP)中,先想資料結構
  • 一般性資料分析時,不要用 OOP。
  • 當你有少量但複雜的物件時,適合用 OOP。
在 R 中使用 S3 與 R6 的物件導向程式設計

一起來練習吧!

在 R 中使用 S3 與 R6 的物件導向程式設計

Preparing Video For Download...