什么是面向对象编程(OOP)?

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 面向对象编程

函数

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 标志。   dplyr 标志。

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 面向对象编程

¡Vamos a practicar!

R 中的 S3 与 R6 面向对象编程

Preparing Video For Download...