---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! -----------------------
面向对象简单理解
人们解决现实中问题的一种思维模式,思想
万物皆对象
日后开发:当你想完成一个功能的时候,找有没有可以完成这个功能的对象
如果有的话,就建立这个对象,指挥这个对象做事情
如果没有,就自己创建对象,指挥这个对象做事情。
想要更好的理解面向对象,首先要了解什么是类?什么是对象?以及类与对象之间的关联关系!
类
对象
对象就是现实生活中,确确实实存在的那个个体
比如:狗,小明,钢笔。。。。这些都是一些具体的东西。
而对象都有自己的属性和行为(方法),比如人:具有:姓名、年龄、性别等属性,
具有:睡觉、吃饭、学习等行为。
两者之间的关系:
面向对象的优点:设计
面向对象和面向过程的区别:
面向对象的的三大特征
一、 封装(encapsulation):
封装的好处
- 隐藏啦类的具体实现细节,
- 限制不合理操作。
- 将变化隔离。
- 便于使用。
- 提高重用性。
- 提高安全性。
多态(polymorphism):
体现:父类或者接口的引用指向或者接收自己的子类对象。
2.此时通过父类的引用变量调用的方法时子类覆盖的或者继承的父类的方法,而不是父类的方法。作用:
多态的存在提高了程序的扩展性和后期可维护性
前提:
1.需要存在继承或者实现关系
2. 要有覆盖操作
子类到父类的转换(向上转型)
1.讲一个父类的引用指向子类对象,成为向上转型。自动进行类型转换。
3.此时通过父类引用变量无法调用子类特有的方法。
父类到子类的转换(向下转型)
讲一个子类的对象的父类引用赋给一个子类的引用,称之为向下转型。这时候必须进行强制类型转换。
向下转型后,可以调用子类特有的方法。
接口
接口和类、抽象类是一个层次的概念,命名规则都相同。
小细节:
接口中所有的方法都是抽象的
所有的成员必须公共的,默认的访问修饰符也是共有的
接口中没有构造方法,故不能创建对象
接口中的变量都是常量
继承和实现有区别
类与类之间单继承
类与接口之间多实现 class D extends C implements A,B
继承父类后,父类中的非抽象方法,子类可以直接使用啊
实现后,必须覆盖所有抽象方法
多实现,避免了单继承的局限性
抽象类和接口的区别
- |-- 抽象类需要子类继承覆盖全部抽象方法
- |-- 接口需要子类实现覆盖全部抽象方法
- |-- 抽象类中可以有普通方法,子类继承后直接使用
- |-- 接口中没有普通方法,子类实现后必须全部覆盖
- |-- 抽象类中有构造方法,可以对成员变量赋值
- |-- 接口中没有构造方法,定义的都是常量
- |-- 抽象类中,可以定义普通方法和成员变量
- |-- 接口中,只能定义常量和抽象方法
----------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------