zoukankan      html  css  js  c++  java
  • 1.面向对象

    面向过程思想:
    步骤清晰简单,第一步做什么,第二步做什么......
    面对过程适合处理一些较为简单的问题
    面向对象思想:
    物以类聚,分类的思维模式,思考问题首先会解决问题的需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类的细节进行面向过程的思索
    面向对象适合处理复杂的问题,适合处理需要多人协作的问题!
    对于描述复杂的事物,为了宏观上把握、从整体上合理的分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。
     
    什么是面向对象?
     
    面向对象编程(Object-Oriented Programming,OOP)
    面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据。
    抽象:假如咱们需要去设计一个学生管理系统,比如说,这是一个student manager,对于学生来说。我们只用去关心他的学号,班级,成绩等等。而我们就不用去关心这个学生的爱好啊,身高,体重。因为它就是学员管理,抽象的概念就是我们要把这很多个,比如说很多很多学生,我们要把他们的共同点剥离抽取出来变成一个类,这就叫抽象。抽象抽象,我感觉,就是把像的那一部分抽取出来。
     
    三大特性:
    封装封装是面向对象的基本特征之一,就是把数据封装包装起来,就相当于你一个东西,比如说1万元,你不想让它暴露在外面,不要让所有人都操作,你就给它装到了一个盒子里面,这就叫封装。但是你要留一个口,把钱取出来。我们需要把代码里面的一些数据封装起来,对外就提供一个小口,从外部去访问。
    继承:继承也是源自于生活的,比如说,一个儿子都有一个父亲。儿子会继承父亲的所有东西。咱们类也一样,我们可以有一个子类,也有一个父类。父类和子类之间可以通过一个继承,相当于子类就得到了父类的东西。比如说你父亲把所有的钱都继成给了你,所以说你用了父亲全部的钱。那在代码里面也是一样的,假设A类去继承了一个B类,那么我这个A类就拥有B类的所有东西。
    多态:比如说,都是咱们学习这个方法。学习这个方法应该是属于人的。那么同样是人,人也分为好多不一样的人。比如说小明他学习比较好一点,然后还有一个小红,小红学习相对来说比较差一点。那他们两个都会去执行这个学习的方法。但是学出来的东西是完全不一样的,对不对。就是,同一个事物,他会有多种形态。我们都是人,但是我们表现出来的形态是不一样的。
     
    从认识论角度考虑是先有对象后有类。先有了很多很多的人,然后我们再去把这些人提取出共同特点,也就是咱们的抽象。抽象出来他们为某一类,比如说这一类人都会去当老师,他就是一个教师。那一类人都在学习,那么他们就是学生。所以是先有了一个一个人这个对象,然后才去抽象出来一个一个的类。对象,是具体的事物。类,是抽象的概念,是对对象的抽象。就像老师它是一个抽象的概念,而XX(老师的名字)就是一个具体的人。
    从代码运行角度考虑是先有类后有对象。因为我们需要先设计,你得先把这个东西分好类,然后再去实现,比如说我们还是拿一个人举例。有一个人Person类,那么这个Person类就是先定义好的,由这个人就相当于由这个钱,人民币它是有一个模板的,它通过这个模板去印刷钱,咱们这也是,通过这个Person类这个模板去印刷出来好多好多人,但是我们这个地方的人都是通过new这个关键字产生的。 类是对象的模板。


  • 相关阅读:
    Vue路由机制
    谷歌浏览器打不开应用商店的解决方法
    Vue报错——Component template should contain exactly one root element. If you are using vif on multiple elements, use velseif to chain them instead.
    Vue.js学习之——安装
    Vue使用axios无法读取data的解决办法
    关于localstorage存储JSON对象的问题
    2013年整体计划
    个人喜欢的警语收集
    Linux防火墙的关闭和开启
    Flex修改title 转载
  • 原文地址:https://www.cnblogs.com/duanfu/p/12222446.html
Copyright © 2011-2022 走看看