IT十八掌第六天总结(含作业)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IT十八掌第六天总结(含作业)相关的知识,希望对你有一定的参考价值。

/**
*定义三个接口,然后定义一个接口继承三个接口,创建对象
*/
//创建 白 富  美 三个接口
interface  IWhite{
 public void white();  //定义一个空的方法
	
}
interface  IRich{
 public void rich();
	
}
interface  IBeauti{
 public void beauti();
	
}
interface IRun{           //新增加一个类
	public void run();
}
//定义一个IWRB 接口 同时继承三个接口
interface IWRB extends IWhite, IRich ,IBeauti{

}


//创建一个Womanter 实现IWRB
class WomanStart implements  IWRB { 
	//实现三种方法

	public void white(){
		System.out.println("I‘m white");
	}
	public void rich(){
				System.out.println("I‘m rich");

	}
	public void beauti(){
				System.out.println("I‘m beauti");

	}
}

class WomanStartRun extends WomanStart implements IRun{ //通过继承和实现的方法实现 扩张
	public void run(){
		System.out.println("小跑!!!!");
	
	}
}
//创建土豪类
class RichMan{
	public void marry (IWRB girl){  //声明一个marry方法 如果符合条件则……
	 System.out.println("喝个茶!!!");

	}
	public  void run (IRun run){
	run.run();
	}
       
}
//创建一个类
class RichManDemo{
	public static void main(String [] args ){
	  RichMan m = new RichMan();  //new 一个土豪
	  WomanStart w = new WomanStart() ; //new 一个WomanStart
	  m.marry (w);  //调用marry 
      
	   WomanStartRun ru = new WomanStartRun();//new 一个WomanStartRun 
	   m.run(ru);
	}
}


接口 
   接口的出现降低耦合性 ---解耦合
 

 Adapter : 适配器 抽象类。
 适配器模式
 ——————————————————————————————
   如果接口中的方法较多,而使用接口的时候却只关心其中一个或者几个方法,(关心的方法较少),
   如果采用常规手段,就需要对每个方法都要加以实现,可以创建一个类型来实现接口,对不关心的方法进行空
   实现,对关心的方法保持不变、定义的新类继承抽象类后,将所关心的方法加以实现即可。
     此种模式就称为 适配器模式,常用于UI 设计中的按钮点击事件的处理中。


	


多态

------------------
定义:
   某一类事物的多种存在形态。
   对继承的类来讲,使用父类类型引用子类的对象。
   对于接口来说,可以使用接口引用实现了该接口的类所创建的对象。
好处和作用:
   多态的存在提高了程序的扩展性和后期可维护性

前提:
   需要存在继承或者实现关系
   要有覆盖操作


内部类
————————————————————————————
    将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。
访问特点:
    内部类可以直接访问外部类中的成员,包括私有成员。
    而外部类要访问内部类中的成员必须要建立内部类的对象

内部类的位置

   内部类定义在成员位置上
       可以被private static成员修饰符修饰。
       被static修饰的内部类只能访问外部类中的静态成员。
   内部类定义在局部位置上
       也可以直接访问外部类中的成员。
       同时可以访问所在局部中的局部变量,但必须是被final修饰的。



[作业1]
------------------------------------
	使用抽象类和接口实现适配器模式设计。涉及的类和接口分别为ButtonListener(接口),
	其中含有click() / dbclick() / keyUp() / keyDown()等方法。
	ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现。
	Button类中添加addListener(ButtonListener l)方法。

[作业2]
------------------------------------
	阐述什么是多态。
	为什么函数可以覆盖,而属性不能覆盖?


/**
* [作业1]
*定义接口函数
*/
// 先定义 四种接口
interface ButtonListener{
	void click();           //单击       public 可以省略
	void dbClick();         //双击       
	void keyUp();           //按键释放
	void keyDown ();       //按键按下
}

class Button{
	//按钮监听器
	ButtonListener listener ;     //表示Buttonlistener按钮的处理程序就是 listener  
	//添加监听器
	public void addListener(ButtonListener l){
		this.listener = l ;
	}

	//模拟单击事件
	public void click(){
		//处理单击事件
		listener.click();
		
	}
	
}
//适配器
abstract class ButtonListenerAdapter implements ButtonListener{
	//对接口进行空实现
	public void dbClick(){
	}
	public void keyUp(){
	}
	public void keyDown(){
	}
}
//新建一个监听器实现类
class MyListener extends ButtonListenerAdapter{
	public void click(){
		System.out.println(" click one ~~~ !");
	}
}

class AdapterDemo{  
	public static void main(String[] args){

		Button btn = new Button();  // 新建一个监听器
		MyListener Ml = new MyListener(); //新建一个类
		btn.addListener(Ml); 
		btn.click();
		}
	}

/**
*运行结果
*   C:\Users\CC\Desktop>java AdapterDemo
*   click one ~~~ !
*/
[作业2]
阐述什么是多态。
为什么函数可以覆盖,而属性不能覆盖?
答:
定义:某一类事物的多种存在形态。
   对继承的类来讲,使用父类类型引用子类的对象。
   对于接口来说,可以使用接口引用实现了该接口的类所创建的对象。
属性是资产,容纳数据的地方,函数是行为,不容纳和存储数据,所以函数可以被覆盖,而属性不能。


以上是关于IT十八掌第六天总结(含作业)的主要内容,如果未能解决你的问题,请参考以下文章

IT十八掌第七天总结(含作业)

IT十八掌掌第十六天课程总结

IT十八掌作业_java基础第六天_接口与适配器模式多态内部类

IT十八掌掌第九天课程总结

IT十八掌掌第十天课程总结

IT十八掌掌第十二天课程总结