"类"的讲稿

-----------------------面向对象基础------------------------------------
方法(函数)html

java

(c#p10为主,p27;javap96)+资料,讲以下问题:
一、类概念[类、对象]程序员

二、面向对象基本特征(封装、继承、多态)编程

}c#

三、类的主要构成(属性和方法)ide

四、程序中如何实现类:函数

类格式(类头、成员变量、成员方法,实例化)this

例:Person类(姓名,年龄,show_Me)(+set_Me)(+不一样文件)
Person类内存分配
例5-1 学生类(仅java)
(c#提一下public)
战斗程序spa

//java(源代码设计

//c#源代码

变量做用域(c#略,见p76)

P103直接讲例5-2(仅java)
重载
例:两、三个数最大值
p128,例5-14(仅java,多个数的和)
构造方法
介绍构造方法的意义,构造Person
P108例5-6,知识点:构造重载(长方体,设各边长,算体积)
掷色子程序(仅C#)
静态
{ //仅java
静态方法:P112例5-7

静态属性:提一下
看p111-112页,1,2

注:java里静态内容实际上能够被对象访问,但这不是通用写法,其余语言并不容许。应尽可能使用类来访问静态内容。


//C#
静态属性+静态方法
随手举例

---------------面向对象进阶----------------------------

继承例:球继承圆的半径、面积。代码

修饰符(JAVA看看视频,17分28秒,C#P12页第三点)
this和super
P119例5-9(this),例5-10(主要讲super),例5-11(this和super综合)

子类对象是能够赋值给父类变量的(例:球对象赋值给圆变量)
{//仅java
子类与父类具备同名方法时:默认为方法重写

例:Person1继承Person类,内存初始化
简单子类重写父类方法:P129,例5-15
final修饰方法可阻止重写
子类重写父类方法:P126例5-13

{//仅C#

具备同名方法时内存中的状态:默认为屏蔽

例:Person1继承Person类,内存初始化
以圆球为例说明方法的屏蔽与重写

一、父类受权【能够(virtual),不能够(无,即屏蔽)】
二、子类是否重写【重写(override),不重写(new)】

---------------团队编程内容--------------------------
抽象类与抽象方法(必须一块儿用,规定了必须重写方法)

通常用于开发小组内部讨论概念的时候,一般做为后续开发的标准和依据。
P124例5-12

例5-12扩展讲解:

建抽象类的时候,注意以下图设置(免得手输)

抽象类“形状”代码:

public abstract class Shape
{
	abstract void getArea();
}

  实现类“圆”代码:

public class Circle extends Shape
{
	double r;
	Circle(double x)
	{
		r=x;
	}
	void getArea()
	{
		System.out.println("圆形面积是:"+3.14*r*r);
	}
}

  实现类“矩形”代码:

public class Rectangle extends Shape
{
	double c,k;
	Rectangle(double x,double y)
	{
		c=x;
		k=y;
	}
	void getArea()
	{
		System.out.println("矩形面积是:"+c*k);
	}
}

  main代码:

public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		Circle cc=new Circle(5.6);
		Rectangle rt=new Rectangle(8, 6);
		Shape s;
		cc.getArea();
		rt.getArea();
		s=cc;
		s.getArea();
		s=rt;
		s.getArea();
	}

  对比这个例子和书上的例5-12,看看有什么不一样。

  差别最大的是main函数。声明的抽象类变量能够指向任何一个它派生的具体类。道理和继承相同。因而可知抽象类的做用(可用于检验的类设计模版)


接口(通常用于项目整体设计时,跨开发小组统一开发标准):

  1. 通常仅用于描述要实现的动做(C#中无属性),以小项目松散耦合为目的,可多继承。
  2. 应尽可能避免使用中的接口污染,即接口功能应尽可能单一(好比规划“通话”接口时想着手机,规定必须有接打电话和收发短信的功能,这就让写“对讲机”的程序员很难受)。
  3. 用法与抽象类相似(都是至关于模版的东西),注意体会概念和使用场合的区别。

例:龟车赛跑

相关文章
相关标签/搜索