面向对象三大特性的理解
展开全部
面向对象,简单举个例子
你要吃饭,吃的是西红柿炒鸡蛋,那按正常的流程你要先去买西红柿和鸡蛋,然后打开煤气炉,然后用锅铲炒,炒好后放到盘子里,然后吃。如果你是这么做,这就叫面向过程
但如果你换种做法,你雇了一个厨子,你要吃西红柿炒鸡蛋的时候你跟厨子说一声,全部事情都交给厨子去做,你只需要等他做好给你吃就行,而不需要关心他是怎么做出来的。这就叫面向对象
实现面向对象就需要你把一些功能和属性包装成一个对象,要使用那些功能的时候就去调用这个对象即可,就不用自己再重新写一遍。例如你有一个厨子了,厨子的功能是炒菜,你顿顿要吃西红柿炒鸡蛋,你还需要自己反复地去买菜去点火去炒吗?不需要,你全部交给厨子去做就行了。这就叫实现面向对象
面向对象中更多的体现是指挥者(指挥对象做事情)。 面向对象思维方式将复杂的问题简单化。
一:封装
理解:
书上:把变量和方法包装在一个类内,以限定成员的访问,从而达到保护数据的一种技术。
决定对象的使用范围: 私有性封装;局部性封装;全局性封装。
使对象属性尽可能私有,对象方法尽可能公开。
二:继承
理解:
决定对象的属性、方法可以被哪个对象使用。
用法:
1.子类自动拥有父类中可以继承的属性和方法可以继承:父类中非私有的属性和方法
2.Java中支持单继承,不允许多继承。但是可以多重继承( c继承b b继承a )
一个类只能有一个父类。一个父类可以有多个子类
子类的共性抽取形成父类。、
3.前提:(子类继承父类 )子类调用成员变量 如果子类有,,使用自己的; 子类没有 调用父类的 ; (子父类中出现了同名变量)如果一个变量 子类成员变量中有,,方法中也有,调用方法的话(采取就近原则),会出现方法中的变量。。。若想要调用成员变量 只需要加上一个this . ( 点) ,因为this指代成员变量。如果想要访问父类中的成员变量 就用super . (点)前提:父类变量不能是私有的
三:多态
理解:
同一种方法的不同运作方式。
方法的重载是实现多态的一种方法。方法的覆盖(重写)也是实现多态的一种方法
方法的重载Overloading
指在同一个类内具有相同名称的多个方法。但是这些方法的参数列表不同,即 参数个数不同、或者参数类型不同、或者参数顺序不同,可以根据参数列表不同来调用相应的方
你要吃饭,吃的是西红柿炒鸡蛋,那按正常的流程你要先去买西红柿和鸡蛋,然后打开煤气炉,然后用锅铲炒,炒好后放到盘子里,然后吃。如果你是这么做,这就叫面向过程
但如果你换种做法,你雇了一个厨子,你要吃西红柿炒鸡蛋的时候你跟厨子说一声,全部事情都交给厨子去做,你只需要等他做好给你吃就行,而不需要关心他是怎么做出来的。这就叫面向对象
实现面向对象就需要你把一些功能和属性包装成一个对象,要使用那些功能的时候就去调用这个对象即可,就不用自己再重新写一遍。例如你有一个厨子了,厨子的功能是炒菜,你顿顿要吃西红柿炒鸡蛋,你还需要自己反复地去买菜去点火去炒吗?不需要,你全部交给厨子去做就行了。这就叫实现面向对象
面向对象中更多的体现是指挥者(指挥对象做事情)。 面向对象思维方式将复杂的问题简单化。
一:封装
理解:
书上:把变量和方法包装在一个类内,以限定成员的访问,从而达到保护数据的一种技术。
决定对象的使用范围: 私有性封装;局部性封装;全局性封装。
使对象属性尽可能私有,对象方法尽可能公开。
二:继承
理解:
决定对象的属性、方法可以被哪个对象使用。
用法:
1.子类自动拥有父类中可以继承的属性和方法可以继承:父类中非私有的属性和方法
2.Java中支持单继承,不允许多继承。但是可以多重继承( c继承b b继承a )
一个类只能有一个父类。一个父类可以有多个子类
子类的共性抽取形成父类。、
3.前提:(子类继承父类 )子类调用成员变量 如果子类有,,使用自己的; 子类没有 调用父类的 ; (子父类中出现了同名变量)如果一个变量 子类成员变量中有,,方法中也有,调用方法的话(采取就近原则),会出现方法中的变量。。。若想要调用成员变量 只需要加上一个this . ( 点) ,因为this指代成员变量。如果想要访问父类中的成员变量 就用super . (点)前提:父类变量不能是私有的
三:多态
理解:
同一种方法的不同运作方式。
方法的重载是实现多态的一种方法。方法的覆盖(重写)也是实现多态的一种方法
方法的重载Overloading
指在同一个类内具有相同名称的多个方法。但是这些方法的参数列表不同,即 参数个数不同、或者参数类型不同、或者参数顺序不同,可以根据参数列表不同来调用相应的方
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询