面向对象

面向过程:是以过程为核心,它关注眼下要解决的问题。现在有一个功能要实现,就写一段代码来实现。它不关心过去是否有过类似的功能,未来是否还有类似的功能。

面向对象:是一种对现实世界的理解和抽象方法。面向对象关心现有问题分类解决,过去有没有写过类似的代码,现在可以复用;我们现在做的功能未来是不是还要用。

  • 面向对象的研究范畴:
  1. 对象:万物皆对象,每个对象都有各自的属性、特性和功能;
  2. 类:抽象事物特性、属性,把事物分类。类是描述一群事物的属性、特性和功能的抽象概念;比如说动物类、植物类;学员类、老师类
  3. 实例:类中的具体的一个个体。只要是这个类中的一个个体,就会有这个类所有的属性、特性和功能。
  • 面向对象具体体现在哪里?
    在讲数据类型时,有一个对象类、数组类。数组类的属性和特性是:有序的、push、pop….数组方法,但是对象是无序的键值对集合;
  1. var ary = [1, 2, 3]; // 数组就是数组类的一个实例
  2. var obj = {
  3. name: '珠峰',
  4. age: 10
  5. }; // obj 就是对象类的一个实例
  6. // ary 就是数组的一个实例,所以它也可以 push、 pop
  7. ary.push(4);
  8. // js 当中还有哪些内置类:
  9. // Object 对象类
  10. // Array 数组类
  11. // Date 日期类
  12. // RegExp 正则类
  13. // Function 函数类
  14. // 创建数据的方式:字面量、实例的方式
  15. var ary1 = new Array(1, 2, 3); // 实例的创建方式:创建数组类的一个实例,得到一个数组
  16. ary1.push(4);
  17. console.log(ary1);
  18. // 内置类都是函数数据类型
  19. console.log(typeof Array); // function
  20. console.log(typeof Date); // function
  21. // JS的面向对象研究对象、类、实例三者之间的关系。
  22. // JS面向对象我们讨论 封装、类继承和多态(重载、重写)这三个问题;

什么是面向对象.png