软件开发那点事-面向对象

前言

面向对象对于程序员来讲是一个很重要的概念,不了解面向对象的理论知识,在学习面向对象的语言时就会产生困惑

1,面向对象含义

  • 起源:
  • 早期程序设计都是面向过程,而随着时间的发展问题的复杂度也逐渐提升。这样对于使用面向过程的设计变得越来越复杂
  • 而面向对象在这一时刻从天而降,带来了全新的解决问题的方案,并逐渐发展为主流
  • 对比:

古时候,文章不多的时候,印刷时固定刻板就可以了,而随着文章逐渐增多,每次都重新刻板就很麻烦了,这个时候活字印刷就出来了
面向对象和面向过程的区别类似于此:

面向对象解决问题更加灵活简单,采用封装的技术方法就可以一次编程、多次调用,并且使用属性这样的方式,降低了耦合性,可以更简单的去利用,去理解

2,面向对象的特点

封装:

封装就是将一系列程序逻辑打包成为一个类,仅仅对外展示这个类的属性,使用时无需关注其任何的内部结构,直接使用对外接口即可:

继承:

继承很容易理解,父亲的DNA传给儿子就是一种继承。在面向对象的编程中,被继承的类称为父类基类,而继承的类称为子类派生类。继承需要遵循一定的规则:

在OOP(面向对象编程)中,可以使用类名后面加冒号加被继承的类的方法实现继承

继承规则:

  • c++ 可以实现多继承,而像c#则只支持单继承,要实现多继承,则需要通过接口来实现
  • 静态类不能被继承。因为静态类中只包含静态方法和静态属性,不能被实例化,

多态:

多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。

多态的几种实现方式:

  • 虚函数
  • 抽象类
  • 重载
  • 覆盖
  • 模板(重载和多态无关)

3,类的特点

面向对象一个重要的概念就是类,对于类的深入理解可以更好的学习了解面向对象的概念(本博客关于类的概念基于C#)

3.1、类的区分

静态类与实例类:

静态类使用修饰符static来修饰,静态类内的属性方法都为必须为静态成员,创建一个静态类可以理解为创建一个直接实例化的类,但是个别细节与实例化不同

而未使用stati

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心之凌儿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值