认识面向对象

面向对象

面向对象也叫OOP (Object Oriented Programming),它不是一个语法,它是一种编程思想和架构.对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。

1.面向过程(POP)

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用时在一个个调用函数就行了
在javascript中。

2.面向对象(OPP)

面向对象就是把事务分解成一个个对象,然后由对象之间分工合作完成。面向对象是以对象功能来划分问题的,而不是步骤!

面向对象的特性

1.封装性:把重复复用的代码块分装起来。
2.继承性:例如有对象father和对象son,对象son就是可以继承对象father的属性和方法。
3.多态性:同一个对象在不同是时刻体现出不同的状态:例如一个拖把,除了可以拖地之外,拖把棍可以打不听话的小孩子呀
举个例子说明
比方说我们现在需要吃饭,那么按照面向过程的思想来说就是:
1.煮饭
2.洗菜
3.切菜
4.炒菜
5.盛饭
6.吃饭
而面向对象的思想就很简单:
1.找个饭馆
2.下单
3.吃饭

面向对象
找到一个"饭馆",它能够完成我的需求, “生产"一顿饭,然后我们通过这个"饭馆”,得到一顿饭
如果有这个"饭馆",那我们直接使用;如果没有,那就自己开一个"饭馆"

以轮播图为例
找一个 ‘机器’ 这个机器能生产产品, 这个产品就是轮播图
如果有这个机器, 我们直接通过这个机器去得到轮播图, 如果没有这个机器, 我们需要自己创造一个机器

面向过程 => 脸 朝着 过程; 编程时注重过程, 一切功能都是一步一步来
面向对象 => 脸 朝着 对象; 编程时注重对象, 一切功能都是创造出来那个对象

<script>
   * 轮播图
   //面向过程的思想
    创建第一个轮播图
    1. const banner = xxx
    2. const imgBox = xxx
    3. const focus = xxx
    4. const index = xxx
    5. function copyEle () {
      
      操作 imgBox}
    6. function setFocus () {
      
      操作 focus}
    7. function autoPlay () {
      
      操作 imgBox 和 index}
    //创建第二个 轮播图
    1. const banner2 = xxx
    2. const imgBox2 = xxx
    3. const focus2 = xxx
    4. const index2 = xxx
    5. function copyEle2 () {
      
      操作 imgBox2}
    6. function setFocus2 () {
      
      操作 focus2}
    7. function autoPlay2 () {
      
      操作 imgBox2 和 index2}

     //面向对象的思想
      b1 = {
      
      
         banner: xxx,
         imgBox = xxx,
         focus = xxx,
         index = xxx,
         copyEle () {
      
      操作 this 的 imgBox},
         setFocus () {
      
      操作 this 的 focus},
         autoPlay () {
      
      操作 this 的 imgBox 和 this 的 index}
         }
         b2 = {
      
      
         banner: yyy,
         imgBox = yyy,
         focus = yyy,
         index = yyy,
         copyEle () {
      
      操作 this 的 imgBox},
         setFocus () {
      
      操作 this 的 focus},
         autoPlay () {
      
      操作 this 的 imgBox 和 this 的 index}
         }
         *对象的 属性值不相同, 但是 方法 相似但不同
         *机器的核心 能够批量生产                
         *找到一个能批量生产对象的机器
         *并且是合理生产
</script>

猜你喜欢

转载自blog.csdn.net/weixin_48649246/article/details/127892356