什么是面向对象?
面向对象是一种程序设计方法或者程序设计思路。它的基本思想是使用类、对象、继承、封装、消息等基本概念进行程序设计。它从现实世界中存在的客观事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物(即对象)为中心来思考,认识问题,并根据这些事物的本质特点,并把它们抽象的表示为系统中的类,作为系统的基本构造单元,使得软件系统的组件可以直接直接反映客观世界,并保持客观世界中事物及其相互关系的本来面貌。
面向对象中,最小的程序单元是类。这些类生成系统中的多个对象,这些对象直接映像成客观世界的各种事物。
什么是类
类代表了客观世界中具有某种特征的一类事物,这类事物中往往有一些内部状态数据(类的属性),类没有必要包含这类事物的所有的内部状态属性,程序中只需要记录与业务关系的数据状态即可。
类的组成
类的定义=成员变量(状态数据)+方法(行为)
类中包含一类事物的内部状态数据(类的属性、特征、数据),还包含操作这类状态数据的方法。还有这类事物相应的实现
面向对象与面向过程的比较
面向对象比面向过程的编程粒度要大:面向对象的编程单位是类,面向过程的编程单位是函数(相当于方法),因此,面向对象要比面向过程要简单。
面向对象的基本特征
面向对象有三大基本特征:封装、继承、多态。
封装:将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能。
继承:面向对象实现代码复用的重要手段,当子类继承父类后,将直接获得父类的属性和方法。
多态:多态是指子类对象可以直接赋给父类变量(向上造型),但运行时仍表现出子类的行为特征,意味着同一类型的对象在执行同一个方法时,可以表现出多种行为特征。(涉及继承、方法重写)
总结
类是具有共同属性、共同方法的一类事物。类是对象的抽象,对象是类的具体实例。类是整个软件中最小的程序单元,类的封装是将各种信息细节隐藏起来,并通过公用方法暴露该类对外所提供的功能