什么是面向对象?

面向过程&面向对象

  • 面向过程思想:步骤清晰简单,第一步做什么,第二步做什么,是按照一个顺序来的。(面向过程适合处理较为简单的问题)

  • 面向对象思想:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些类进行思考。最后,对某个分类下的细节进行面向过程的思索。(面向对象适合处理复杂的问题。)

对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但其实具体到最后的微观操作,仍然是需要用面向过程的思路去处理。

  • 面向对象编程(Object-Oriented Programming,OOP)

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据

  • 三大特性

  1. 封装 (把数据封装起来,对外提供一个口子进行访问)

  2. 继承 (子类继承父类的所有东西)

  3. 多态 (同一个事物会有多种形态,每个事物表现的形态都不一样)

  • 抽象 (抽象就是把事物的共同特征总结为一点)

  1. 从认识论的角度考虑,是先有对象后有类。(例如先有一群人才会给一群人分成一个类)

  2. 对象,是具体的事物。类,是抽象的,是对对象的抽象

  3. 从代码运行的角度考虑,是先有类后有对象。类是对象的模板(例如修建一栋建筑,应该先由分配好各个部门要做的事,然后各个部门就知道做些什么。)

  • 实例化一个类

    对象类型(就是跟对象值一样) 对象名 = new 对象值

  • 类里面就是只有属性方法构造方法以及内部类

一些注意事项

  • 对于基本数据类型来说,给形参传递的是实参值的副本,而对于引用数据类型来说,传递的则是地址的副本。但由于地址的副本和原来的相似,因此传递过去后的形参也指向同一个内存空间中。

  • 非静态的方法可以调用静态的方法,但是静态的方法就不能调用非静态的方法。

  • 静态的方法可以调用静态的方法,非静态也可以调用非静态。(由于static时间片开始得很早,一开始就被加载了。)

  • 使用new关键字创建对象的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化,以及对类中的构造器的调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zyangxsir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值