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

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


  • 相关阅读:
    深入浅出进程与线程的基本概念
    python中with的用法
    浮点型数据在内存中存储的表示
    自问问题列表以及网络答案整理
    看java源代码
    【设计模式】工厂方法
    SQL实现递归及存储过程中 In() 参数传递解决方案
    app与server联系
    添加service到SystemService硬件服务
    noproguard.classes-with-local.dex
  • 原文地址:https://www.cnblogs.com/duanfu/p/12222446.html
Copyright © 2011-2022 走看看