1.什么是对象?
对象就是一个类的实例,new出一个新的对象,并且给这个对象赋予一些不同属性,使其具体化。一个类里面可以有多个对象,一个对象可以调用多个不同的方法,相当于一条狗赋予了的叫声,摇尾巴等。
2.面向对象与面向过程的区别:
*面向过程强调的是行为,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
*面向对象是基于面向过程的,构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向过程 |
面向对象 |
|
设计思路 |
自顶向下、层次化、分解 |
自底向上、对象化、综合 |
程序单元 |
函数模块 |
对象 |
设计方法 |
程序 = 算法 + 数据结构 |
程序 = 对象 = 数据 + 方法 |
优点 |
相互独立,代码共享 |
接近人的思维方式模拟客观世界 |
缺点 |
数据与程序不一致维护困难 |
客观世界的无序性概念不成熟 |
3.面向对象有三大特征:
*继承是使用已存在的类的定义作为基础建立新类的技术,继承父类的方法数或变量,在修饰符允许的条件下调用(继承:子类名+extends+父类名),可以用子类的对象调用父类的方法。方法重写了父类中的方法以后输出调用的方法是重写后子类的方法,变量不能被重写(覆盖),”重写“的概念只针对方法。
重写:shift+alt+s选择Override/Implenment Methods类的程序里出现的return super.foots();意思是执行父类的方法,不删掉的话会输出两个值。重写是变量和方法名不变,其他可更改。
*封装: 将某些东西包装在一起,然后以新的完整形式呈现出来;
隐藏属性、方法或实现细节的处理方式称为封装;
封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题。
*多态: 方法的重写、重载与动态连接构成多态性。
多态又分为设计时多态和运行时多态。重载是运行时多态;重写是编译时多态。
时间: 2024-10-26 05:06:43