当前位置: 首页 > wzjs >正文

深圳分销网站设计制作电商营销

深圳分销网站设计制作,电商营销,刚做的网站为什么百度搜不到,优购物官方网站化妆品为何有时要将子类对象赋值给父类引用,用父类来进行实例化? 这就要说多态的优势: 代码的扩展性和降低耦合度,而不是完全避免修改代码。 TuXing t new Changfangxing(); Changfangxing k (Changfangxing)t;原因1: 代码可拓展性 …

为何有时要将子类对象赋值给父类引用,用父类来进行实例化?

这就要说多态的优势: 代码的扩展性和降低耦合度,而不是完全避免修改代码。

TuXing t = new Changfangxing();
Changfangxing k = (Changfangxing)t;

原因1: 代码可拓展性

通过父类引用调用方法时,实际执行的是子类的实现。
这样,当需要拓展系统时,只需要添加新的子类,而不需要修改现有的代码逻辑。

Animal[] animals = new Animal[2];
animals[0] = new Dog(); // 父类引用指向Dog对象 
animals[1] = new Cat(); // 父类引用指向Cat对象 
for (Animal animal : animals) { animal.eat(); // 所有Animal子类都可以调用eat()方法 
}

• 使用 Animal 类型的数组可以存储所有 Animal 子类的对象。
• 这样可以统一处理不同类型的对象,而不需要为每种类型编写单独的代码。

public class Main {public static void main(String[] args) {Animal myAnimal = new Dog();  // 这里可以手动修改为 new Cat()makeAnimalSound(myAnimal);   // 调用方法}// 这个方法可以处理任意Animal子类对象public static void makeAnimalSound(Animal animal) {animal.makeSound();}
}

原因2:接口与实现类分离

降低耦合度,多态通过将接口(父类)和实现(子类)分离,降低代码的耦合度。调用者只需要知道父类的接口,而不需要关心具体的子类实现。

public class Main {public static void main(String[] args) {Animal myAnimal = getAnimal();  // 获取Animal对象myAnimal.makeSound();           // 调用方法}// 这个方法可以根据条件返回不同的Animal子类对象public static Animal getAnimal() {// 假设根据某些条件返回不同的子类对象if (/* 条件 */) {return new Dog();} else {return new Cat();}}

原因3: 工厂模式

进一步减少代码的修改,工厂模式将对象的创建逻辑分装到一个单独的类中,调用者只需要通过工厂获取对象,而不需要关心具体的子类类型。

class AnimalFactory {public static Animal createAnimal(String type) {if (type.equals("Dog")) {return new Dog();} else if (type.equals("Cat")) {return new Cat();} else {throw new IllegalArgumentException("Unknown animal type");}}
}public class Main {public static void main(String[] args) {Animal myAnimal = AnimalFactory.createAnimal("Dog");  // 通过工厂获取Animal对象myAnimal.makeSound();                                 // 调用方法}
}

原因4: 限制对子类特定方法的访问

     Animal myAnimal = new Dog();  // 父类引用指向Dog对象myAnimal.eat();  // 可以调用// myAnimal.bark();  // 编译错误,Animal类没有bark()方法

通过父类引用,你只能访问父类中定义的方法和属性,而不能访问子类特有的方法(如 bark())。
这样可以更好地控制对象的访问权限。

http://www.dtcms.com/wzjs/38340.html

相关文章:

  • 可靠的广州做手机网站添加友情链接的技巧
  • 威县做网站报价网络营销成功案例ppt
  • 个人网站有哪些站综合权重查询
  • 重庆社区官网seo优化排名技术百度教程
  • 17网站一起做网店浙江西安网络推广公司
  • 做游戏小网站是啥千锋教育培训怎么样
  • 做相关性分析的网站公司推广方案
  • 开发公司物业服务合同济南网站seo优化
  • 有什么网站可以做免费推广网络营销成功案例ppt免费
  • 网上申报个税操作流程赣州seo排名
  • 阿里云网站费用吗交换友链
  • flash是怎么做网站的东莞网站建设最牛
  • 网站没收录的几大原因腾讯云建站
  • 做网站基本流程网址大全qq浏览器
  • 网站建设员课程互联网营销成功案例
  • 夏县做网站品牌策划方案
  • 网站服务是指今日资讯最新消息
  • 海门建网站公司销售新人怎么找客户
  • 做科技汽车的视频网站网站备案
  • 西部数码做跳转网站杭州搜索引擎排名
  • 做女装的网站免费企业网站模板源码
  • 聚名自己的网站怎么做seo
  • 智能网站建设b2b平台免费推广网站
  • 西安建设工程交易中心官网南昌seo排名外包
  • 德兴网站建设什么是seo如何进行seo
  • 郑州做网站msgg教育培训网站设计
  • 镇江网站建设包括哪些广州seo工作
  • 农村建设商城网站的好处怎么做手工
  • 武汉网站建设设计哪家好网络营销未来有哪些发展趋势
  • 集团响应式网站建设搜索引擎优化seo优惠