标签:对象 自己的 调用 类对象 面向 发展 实例 手机 型号
1、首先什么是面向对象?
首先先看看什么是面向过程,面向过程也就是一步步执行操作,具体到每一步,比如说我们人去上厕所
具体就是这样而面向对象是把上厕所封装成一个方法,人直接调用上厕所,不需要关心里面的具体步骤!
2、简单来说 面向对象就是 类 和对象
其实语言的发展和生物进化很相似,物以类聚!
那么是先有类还是先有对象呢?当然是先有对象,对象抽取共有的特征形成类!
3、面向对象的本质
熟记一句话:当面向对象不理解时就想想其本质以类的防止组织代码,以对象的方式封装数据
4、面向对象的特性
抽象,其实就是抽像,把相似的属性抽取出来!
封装
把一个类封装起来,只能我自己改变,比如说生产手机,肯定有手机这个类(其实就是相当于一个模板),那我只能通过手机本省改变自己的型号,不能让其他的东西改变自己!
子类公共代码抽取形成父类,子类继承父类所有东西!
比如说 猫猫 和 狗狗 继承了动物这个类,而动物都有唱歌这个方法,而猫就是喵喵的唱,狗则是旺旺的唱,有点像生物的多样性!
5、多态的理解
多态的精华:多态多态就是多种状态,就是父类引用可以指向子类对象,在通过重写方法,实现传不同的子类对象调用不同的方法!
其实和类型转换中的差不多,大的只能强制转化成小的,小的隐藏转化成大的
int a = 2.12; //报错 --》int a = (double)2.12
double b = 2; int a = ‘a‘;//正确
Animal animal1 = new Dog();
animal1不能调用子类特有的方法,只能调用自己存在的方法,但是这个方法可以本子类重写覆盖!,这就是下面的代码输出的原因
public static void main(String[] args) {
Dog dog1 = new Dog();
//主要看引用类型是什么,引用类型只能调用自己存在的方法,
//如果被重写则调用子类的,这就是多态的精华(父类引用可以实例子类对象)
Animal animal = new Animal();
Animal animal1 = new Dog();
Cat animal2 = new Cat();
sing(animal); //输出小动物在歌唱!
sing(animal1); //输出旺旺旺的唱歌!
sing(animal2); //输出喵喵喵的歌唱!
}
public static void sing(Animal animal) {
animal.sing();
}
标签:对象 自己的 调用 类对象 面向 发展 实例 手机 型号
原文地址:https://www.cnblogs.com/bingstudy/p/12690813.html