java面向对象(封装组合抽象类接口)封装组合

sonya      2022-05-03     628

关键词:

1.组合+构造方法  赋值 

  组合有两种:一个类作为另一个类的属性变量  一个类的对象类型作为另一个类方法的参数

组合的目的:方法的复用(可以使用别的类的方法) 比继承耦合度低。

代码:

 

//测试类

package edu.xust.oo;
//面向对象复习 oo
//
public class TextMain {
 //赋值可以通过setname进行赋值,或用有参的构造方法进行赋值
 public static void main(String[] args) {
  //1.组合+构造方法  赋值
   Driver dr=new Driver();
  Vehicle ve=new Vehicle();
  Destination de=new Destination("成都");//直接在构造方法里写参数进行赋值
   ve.setName("自行车");
   dr.run(ve, de);
 }
}

 

//Driver类

package edu.xust.oo;public class Driver {
 private String name;
 private Vehicle ve;//  vehicle作为属性变量  第一种组合
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public Vehicle getVe() {
  return ve;//取出来的是vehicle的对象 
 }
 public void setVe(Vehicle ve) {
  this.ve = ve;
 }
 //
 public  void run(Vehicle ve,Destination de){//第二种组合
  System.out.println("利用了交通工具"+ve.getName()+"目的地"+de.getName());
 }
}
 
//Destination类
 
package edu.xust.oo;
public class Destination {
 private String name;//私有的别人不能用,别人想使用的话要通过getname‘ setname取用
 //构造方法:属性变量的初始化
 public Destination(){
  
 }
 public Destination(String name) {
  super();//调用父类构造方法·,通过super.
  this.name = name;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}
 
//Vehicle类
 
package edu.xust.oo;
public class Vehicle {
 String name;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}

[设计模式]面向对象设计原则

两种设计思路:分解:面向过程抽象:面向对象面向对象设计:隔离变化:宏观层面,减小变化带来的影响各负其责:微观层面,强调各个类的“责任”,由于需求变化导致的新增类型不应影响原类型(多态)对象是什么... 查看详情

对象继承封装多态抽象类的组合应用

对象、继承、封装、多态、抽象类的组合应用编写工资系统,实现不同类型员工(多态)的按月发放工资。如果当月出现某个Employee对象的生日,则将该员工的工资增加100元。(1)定义一个Employee类,该类包含:  private成员变量n... 查看详情

6面向对象中的封装

文章目录6面向对象6.1封装Swift语言Kontlin语言Dart6面向对象现代编程语言都包含面向对象思想,不过在语法上各有不同。面向对象主要有三个特征:封装、继承和多态.我们分别从这三个方面来介绍各种语言的语法。6.1封装封装就是... 查看详情

面向对象组合封装(代码片段)

组合之前我们有了解继承是一种程序、软件的重用方式,但是除了继承之外还有一种方式可以让其重用的重要方式——组合组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合#classOldboyPeople:#def__init__(self,na... 查看详情

面向对象基本特征:封装与继承

面向对象的4个基本特征:抽象,封装,继承,多态(后面写)抽象抽象是忽略与目标无关的方面,专注于当前目标的方法。抽象包括2方面:数据抽象,过程抽象数据抽象:表示一类事物的特征,就是对象的属性。过程抽象:表... 查看详情

java语言简介基础组成封装继承多态抽象类内部类接口

目录Java简介Java语言基础组成面向对象对象封装构造函数this关键字static(静态关键字)主函数静态什么时候用呢?面向对象(数组工具对象建立)设计模式继承成员变量子父类中成员函数特点子父类中的构造函数——子类的实例... 查看详情

面向对象之组合封装多态性鸭子类型(代码片段)

一、组合1.什么是组合一个对象的属性是来自于另外一个类的对象,称之为组合2.为何用组合组合也是用来解决类与类代码冗余的问题3.如何用组合#classFoo:#aaa=1111#def__init__(self,x,y):#self.x=x#self.y=y##deffunc1(self):#print(‘Foo内的功能‘)###c... 查看详情

026面向对象05——封装(代码片段)

0、复习继承(了解)抽象类和接口类fromabcimportABCMeta,abstractmethodpython中没有内置接口的概念,所有的抽象类和接口类都是用来规范子类的接口类和抽象类不能被实例化多态(了解)java中的多态和python中的鸭子类型在某些强数据类型语言... 查看详情

二面向对象三大特性

一继承与派生  一、继承定义  二、继承与抽象的关系  三、继承与重用性  四、派生  五、组合与重用性  六、接口与归一化设计  七、抽象类  八、继承实现的原理  九、子类中调用父类的方法二多态与... 查看详情

面向对象设计的思想与基本概念

...基本要素###组件###联系##软件生长的方式###组合###继承##面向对象设计的概念###封装封装的越好耦合性越低###抽象抽象的越好复用性欲强###接口###模块###分层##软件设计的基本问题关于软件怎么生长的问题组件、联系封装 查看详情

java特征以及基本类抽象类接口

  Java是一个面向对象的语言,java面向对象一般有三大特征:封装、继承、多态。  封装:就是把一些属性和方法封装到一个类里。  继承:就如子类继承父类的一些属性和方法。  多态:就如一个父类有多个不同特色... 查看详情

面向对象的程序设计

一面向对象的程序设计的由来二什么是面向对象的程序设计及为什么要有它三类和对象3.1类相关知识3.2对象相关知识3.3对象之间的交互3.4类名称空间与对象/实例名称空间3.5小结四继承与派生4.1什么是继承4.2继承与抽象(先抽象... 查看详情

面向对象编程(代码片段)

文章目录面向对象编程(包、继承、组合、多态、抽象类、接口)包继承super关键字finalprotected关键字组合多态抽象类接口面向对象编程(包、继承、组合、多态、抽象类、接口)包包其实就是类的集合,其本... 查看详情

java面向对象三大特性封装继承多态

...只保留特定的方法与外界联系为什么需要封装:封装符合面向对象设计原则的第一条:单一性原则,一个类把自己该做的事情封装起来,而不是暴露给其他类去处理,当内部的逻辑发生变化时,外部调用不用因此而修改,他们只... 查看详情

面向对象的学习

...识已经大体掌握,而接下来的学习便是java核心的知识,面向对象,这也是java跟其他面向过程的程序语言最大的不同。面向对象的知识点共有:面向对象的概念、类与对象、封装、多态、继承、抽象、接口、内部类、修饰符。java... 查看详情

php面向对象封装继承多态接口重载抽象类最终类总结(代码片段)

1、面向对象封装继承多态 接口、重载、抽象类、最终类面向对象封装继承多态 首先,在解释面向对象之前先解释下什么是面向对象?[面向对象]1、什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,... 查看详情

面向对象封装(代码片段)

...和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在jav... 查看详情

golangoop继承组合接口

...//www.cnblogs.com/jasonxuli/p/6836399.html 传统OOP概念 OOP(面向对象编程)是对真实世界的一种抽象思维方式,可以在更高的层次上对所涉及到的实体和实体之间的关系进行更好的管理。 流传很广的OOP的三要素是:封装、继承... 查看详情