`
哈达f
  • 浏览: 120307 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

阶段性思想总结

    博客分类:
  • j2se
阅读更多

阶段总结:
面向对象:
	1,面向对象是一种符合现实生活中的思想。
	2,面对对象将复杂的事情简单化。
	3,面向对象将程序员从执行者变成了指挥者。
	这三点可以用于理解面对对象,也可以用于面试。

	相对于面向过程而言的,
	把大象放进冰箱里。
	面向过程:
	1,定义开的方法,定义存放的方法,定义关闭的方法。
	强调的是这些动作。
	面向对象:
	强调的是被操作的事物,
	先描述冰箱,描述大象。
	冰箱中定义了开,放,关的行为。
	只要指挥冰箱做事情,调用它的开方法,在调用放的方法,将大象作为参数存入,在调用关的方法。

	程序员就从执行者,变成了指挥者。

	又一示例:
	窗口操作:
	面向过程:强调的是移动,关闭等动作。
	移动窗口,关闭窗口。
	面向对象:强调是被操作的事物(窗口)
	窗口移动,窗口关闭。


----------------------------
用计算机语言其实就是在描述现实生活中的事物。
如果通过java语言来完成。

先对事物进行描述。其实就是java中的类。类其实通过现实中的事物分析了解其特性后,抽象而来的。

根据事物的描述产生实体,指挥实体做事情即可。其实就是通过类建立的对象,并通过对象调用其成员。

应该有的思想:
写java代码其实是先有思想,并用java代码将你的思想进行了体现。
对事物先进行分析,分析了其属性和行为后,通过class以及类中的成员变量和成员函数,将这些属性和行为进行计算机体现。



类和对象的关系:
类是事物的描述。
对象是该事物的实体。

-----------------------------

class Student
{
	private String name;
	private int age;
	private String id;
	Student()
	{
		//super();  隐式      
	}
	Student(String name,int age,String id)
	{
		this.name = name;
		this.age = age;
		this.id = id;
	}

	public void setName(String name)
	{
		this.name = name;
	}
	public String getName()
	{
		return name;
	}
	
	public String toString()
	{
		return "Student info :"+name+","+age+","+id;
	}

}

	
class StudentDemo
{
	public static void main(String[] args)
	{
		Student s = new Student("lisi",30,"007");

		System.out.println(s.toString());//Student@234adf
		
	}
}

-------------------------------

曾经学习的小思想的应用。
计数器:
class Count
{
	private int num;
	Count()
	{
		this(0);
	}
	Count(int num)
	{
		this.num = num;
	}

	public void setNum(int num)
	{
		this.num = num;
	}
	public int getNum()
	{
		return num;
	}

	public void add()
	{
		add(1);
	}

	public void add(int n)
	{
		num += n;
	}
}



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

		Count c = new Count();
		for(int x=1; x<=100; x++)
		{
			if(x%6==0)
				c.add();
		}
		System.out.println(c);

	/*
		int count =  0;
		for(int x=1; x<=100; x++)
		{
			if(x%6==0)
				count++;
		}
		System.out.println("count="+count);
	*/
	}
}


练习:
画矩形,获取矩形的面积,周长。

class Rec
{
	private double length;
	private double width;
	Rec(double length,double width)
	{
		this.length = length;
		this.width = width;
	}

	public void draw()
	{
		for(int x=0; x<width; x++)
		{
			for(int y=0; y<length; y++)
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}
	public double getArea()
	{
		return length*width;
	}
	public double getZhouChang()
	{
		return (length+width)*2;
	}
	public String toString()
	{
		return "rec:"+length+","+width;
	}
}
class Circle
{
	private int radius;
	public static final double PI = 3.14;
	Circle(int radius)
	{
		this.radius = radius;
	}
	public double getArea()
	{
		return redius*radius*PI;
	}
	public double getZhouChang()
	{
		return r2*radius*PI;
	}
}

class RecDemo
{
	public static void main(String[] args)
	{
		Rec r = new Rec(6,4);
		r.draw();
	}
}

	
--------------------------------------------------

面向对象特征:
	1,封装
		隐藏实现细节,提高安全性。
	2,继承
		提高了代码的复用性,让类与类之间产生了关系,而来出现了多态。
	3,多态
		增强了程序的扩展性。



通过圆形和矩形的共性内容向上抽取图形类。
/*
abstract class Shape
{
	abstract double getArea();
	abstract double getZhouChang();
}
*/
interface Shape
{
	abstract double getArea();
	abstract double getZhouChang();
}

class Rec implements Shape
{
	//内容同上。
}



另一个例子:
描述学生很简单,有可能以后出现和学生类似的事物,
为了增强扩展性。思考学生是否具备其他事物的共性内容呢,比如,通常有学生就有讲师。

class AgeExceptione extends RuntimeException
{
	AgeExceptione(String mess)
	{
		super(mess);
	}
}

class Person
{
	private String name;
	private int age;
	Person(String name,int age)
	{
		if(age<=0)
			throw new AgeException("年龄出了问题");
		this.name = name;
		ths.age = age;
	}
	public void setName(String name)
	{
		this.name = name;
	}
	public String getName()
	{
		return name;
	}
	
}

class Student extends Person
{
	priavte String id;
	Student(String name,int age,String id)
	{
		super(name,age);
		this.id = id;
	}
	public void study()
	{
		
	}
}


N年后:

class Teacher extends Person
{
	private String number;
	Teacher(String name,int age,String number)
	{
		super(name,age);
		this.number = number;
	}
	public void teach()
	{
		
	}
}
	


java支持单继承。
java支持多层继承
1,子类可以获取最多的功能。
2,父类中定义的是继承体系的共性功能。
技巧:查阅API的时候,先看该继承体系的父类或者顶层接口。了解体系的基本功能应用。
	通过直接建立最子类对象即可使用该体系。



class Father
{
	String name;
	void da(Son s)
	{
		s.pao();
	}
	void da(Daughter d)
	{
		d.cry();
	}
}

class Son extends Father
{
	void pao()
	{
		System.out.println("son pao");
	}
}

class Daughter extends Father
{
	void cry()
	{
		System.out.println("dau pao");
	}
}

class Family
{
	public static void main(String[] args)
	{
		Father f = new Father();
		f.da(new Son());
	}
}



--------------------------------------------

接口:
1,程序的功能扩展。
2,对外暴露的规则。
3,降低了程序的耦合性。
延续了多继承机制,但通过多实现接口的方式来体现。

一个类在继承另一个类的同时可以实现多个接口。

接口中的成员都是公有的。


---------------------------------------------

设计模式:
1,单例设计模式
解决什么问题:保证类的对象唯一性 。
class Single
{
	private static final Single s = new Single();
	private Single(){}
	public static Single getSingle()
	{
		return s;
	}
}

2,模板方法设计模式
解决问题:提高功能的扩展性。
什么时候用模板方法设计模式:
	当定义功能时,功能中一部分可以确定,一部分不确定的时候。就使用模板方法设计模式。
	可抽象可不抽象,因为可以有默认的实现。
abstract class Template
{
	void template()
	{
		code...;

		method();
		code...;
	}
	abstract void methdo();
}

示例:
abstract class GetTimeTamplate
{
	public final  void getTime()
	{
		long start = System.currentTimeMillis();
		code();
		long end = System.currentTimeMillis();
		System.out.println(end-start);
	}
	abstract void code();
}



----------------------------------------

异常:
	对程序中出现的不正常情况进行描述。并封装成对象。
	封装成对象的好处:指挥该对象做事情。

	自定义异常:
	继承Exception或者RuntimeExcepion即可。

	还可以通过构造函数调用super将异常信息向上传递。

	class NoException extends Exception
	{
		NoException(){}
		NoException(String mess)
		{
			super(mess);
		}
	}

	异常处理方式:
	1,try
	2,throws

	什么时候使用这两种情况呢?
	当定义功能时,功能因为传递的参数,而引发问题,将该问题声明出来让调用者知道,这是就是抛throws。

	最终调用抛出异常的功能方法时,需要try。

	当覆盖了父类没有抛出异常的方法时,子类的方法出现问题,只能try,不能抛。

	特殊:
	try catch finally

	finally:通常都用于关闭资源。

	final  finalize fianlly有什么区别?
 
分享到:
评论

相关推荐

    2021年物业部思想政治工作课题阶段性总结报告.docx

    2021年物业部思想政治工作课题阶段性总结报告.docx

    加强未成年人思想道德建设策略研究课题研究阶段性总结.doc

    加强未成年人思想道德建设策略研究课题研究阶段性总结.doc

    加强未成年人思想道德建设策略研究课题研究阶段性总结 (2).doc

    随着研究的逐步深入,课题组已进行了两个学年的研究工作,累积了一定的理论知识与实践经验,并在此基础上进行了阶段性总结。 课题研究初期,组员们在领导的指导下,积极投入到理论学习中,掌握道德教育的基本原则和...

    疫情防控阶段性工作总结.docx

    ### 疫情防控阶段性工作总结知识点总结 #### 一、主要工作开展情况 ##### (一)强化组织领导,保证责任落实到位 1. **及时传达上级精神**:将疫情防控视为首要任务,公司领导亲自指挥,利用现代通讯工具如微信群...

    课题研究阶段性工作总结报告.docx

    第三阶段则涉及研究成果的交流和初步分析,以及撰写阶段性总结报告。 研究现状分析显示,学生在养成教育方面存在一些问题,如“高分低德”现象,传统的道德教育方式可能效果有限。因此,该课题着重研究有效的方法和...

    员工个人阶段性心得总结范文.doc

    【员工个人阶段性心得总结】 这份文档是对员工个人在一定阶段内工作的心得体会,主要涵盖了教学工作的总结,包括成绩分析、教学方法与经验体会、存在的不足以及改进措施。以下是具体的解读: 1. **成绩分析**:...

    班主任阶段性岗位总结模板.docx

    在撰写这篇班主任阶段性岗位总结时,我深刻体会到了教师角色的多重性与复杂性。作为班主任,我们的职责不仅限于传授知识,更需要关注学生的全面发展,其中包括政治思想教育、教育教学方法、课堂管理、课外活动组织、...

    政治生态环境建设年活动阶段性工作总结.pdf

    【政治生态环境建设年活动阶段性工作总结】 政治生态环境建设是提升国家治理能力和治理体系现代化的重要组成部分,旨在营造风清气正的政治环境,增强党员干部的纪律意识和廉洁自律能力。在本阶段活动中,我局按照...

    员工个人阶段性工作体会总结.doc

    【员工个人阶段性工作体会总结】 这篇文档主要涵盖了员工在个人工作阶段性的体会和总结,以及针对工作中遇到的问题提出的工作整改措施。以下是对文档内容的详细分析: 1. **工作完成情况及存在问题** - 加强了...

    小学创新课堂教学模式阶段性总结.doc

    【小学创新课堂教学模式阶段性总结】 在2012年,金昌市的小学教育领域迎来了一个重要的变革时期,借由新课程改革的东风,学校积极响应并实施创新课堂教学模式的改革。这一阶段性的总结展示了学校在教学改革上的主要...

    课堂教学改革阶段性总结.doc

    【课堂教学改革阶段性总结】 在2011年,课堂教学改革被列为我市教育体育工作的首要大事。市教体局采取了一系列措施,推动课堂教学改革的深入进行,各学校积极响应,我校也不例外。我们以提升教学质量为目标,围绕...

    员工岗位工作阶段性感想总结.doc

    文档标题和描述中提到的是员工对所在岗位工作阶段的感想总结,主要涉及采购部的组织变革、工作绩效、存在的问题以及未来规划。标签“方案”可能指的是文档中提出的改进措施或工作计划。 1. **组织变革**:采购部...

    大四思想总结.docx

    在这个阶段,个人的思想总结至关重要,因为它涵盖了大学四年在学习、生活、工作和思想上的成长与感悟。 在学习方面,大学生需要具备自主性和独立思考的能力。高校教育强调自我探索和主动学习,这要求学生不仅要有...

    初中生行为习惯养成教育阶段性总结.doc

    【文档标题】:“初中生行为习惯养成教育阶段性总结.doc” 【文档内容概要】:这份文档是对初中生行为习惯养成教育阶段性的总结,主要强调了优化育人环境和健全管理制度的重要性,以及强化精细管理和注重习惯自主化...

    员工个人职业阶段性总结.doc

    本文将详细探讨一名员工在过去一年工作中的阶段性总结,涵盖其政治思想与品德修养、业务知识与技能提升、财务岗位职责与工作流程的掌握、内控与法规遵循的情况、社会保障与福利管理的执行情况、其他工作任务的完成度...

    698通信协议培训阶段性总结.docx

    面向对象的用电信息数据交换协议学习总结,系统总结698采集系统面向对象通信协议的思想和关于698采集系统面向对象通信协议的框架、技术特点与创新,加深对部分术语和数据类型的认知。

    2021课堂教学改革阶段性总结.docx

    【2021课堂教学改革阶段性总结】 在2021年,课堂教学改革成为了教育系统的重要议题,特别是XX地区。市教体局采取了一系列措施,推动课堂教学改革,旨在优化教学环节,提升教学质量。学校积极响应,深化去年的改革...

Global site tag (gtag.js) - Google Analytics