20150428 类

一、类的概念:
1.我们根据实际情况,自己定义的一个复杂的类型。
2.类的三大特性:封装、继承、多态。
3.类的定义:关键字是class
[public/private] class 类名
{
成员变量的定义;(字段的定义)
[public/private] 变量类型 变量名;
属性的定义;
public 属性类型 属性名

get{}
set{}

成员函数的定义;(方法的定义)
[public/private] 返回类型 函数名(形参列表)


}
4.类的使用:
类的实例化 - 生成对象。
类名 引用名 = new 类名();

调用对象的成员:
引用名.成员变量名
引用名.属性名
引用名.成员方法名()

二、访问修饰:
public - 类的花括号里面和外面都可以访问。
private - 类的花括号里面可以访问。

三、属性的定义与使用。
作用:用来给私有的成员变量进行安全的赋值和取值的功能。
定义:
public 属性类型 属性名
{
get //读取部份。
{
return 成员变量名.
}
set //设置部份
{
成员变量名 = value;
}
}
public int Height
{
get
{
return _Height;
}
set
{
if(value>0 && value<300)
{
_Height = value;
}
else
{
Console.WriteLine("Error");
}
}
}

三、方法的使用:
1.方法的定义就是函数的定义。如果是 private修饰的方法是外界不能调用,我们通常称之为工具函数。
2.方法的重载。方法名相同,参数不同(类型,个数)。
方法命名和记忆方便了。
提高代码重用,减少重复。

四、构造函数。
对象在实例化的时候自动被调用的函数。无法使用代码显式调用当前对象的构造函数。
定义:
[public/private] 类名()


特点:
1.对象实化例化时候被自动调用。
2.它是最早被执行的成员函数。 new 类名();实际上就是对构造函数的调用。
3.构造函数可以重载。
如何调用同一个类中的其它的构造函数?
public FeiXingQi(string name)
{
Name = name;
}
public FeiXingQi(string name,int count,string type):this(name)
{
_ChiBang = new ChiBang();
_ChiBang._Type = type;
_ChiBang._Count = count;
}
this代表的当前的对象。this()调用当前对象的其它构造函数。this.xxxx调用当前对象的其它成员。
调用其它构造函数的this() ,不要写在构造函数的{}里面。写在构造函数的声明后面。

4.如果不显示声明构造函数,系统会自动加一个默认的构造函数。一旦显式声明构造函数了,系统将不会再自动生成默认构造函数。

使用场境:
通用在构造函数中用来对对象进行一些初始化的工作(给成员变量赋初始值)。

五、静态成员。
静态成员属于类的。不管我造多少个对象,静态成员在内存中永远只是一个区域。
实例成员属于对象的。每个对象都会有对应实例成员的存储区域。
******调用实例成员:对象名.实例成员名
******调用静态成员:类、名.静态成员名

******注意:静态方法中只能调用静态的成员。实例方法可以调用实例成员也可以调用静态成员。

时间: 2024-10-11 22:54:19

20150428 类的相关文章

[转]java的(PO,VO,TO,BO,DAO,POJO)类名包名解释

java的(PO,VO,TO,BO,DAO,POJO)类名包名解释 2015-04-28 20:11 by Loull, 18 阅读, 0 评论, 收藏, 编辑 VO:值对象.视图对象 PO:持久对象 QO:查询对象 DAO:数据访问对象——同时还有DAO模式 DTO:数据传输对象——同时还有DTO模式 PO:全称是persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO:全称是business

iOS获取类的属性列表

通过实例讲解: @interface DemoObject : NSObject @property (strong, nonatomic,readonly) NSString *name; @property (strong, nonatomic) NSMutableArray *dataSource; @property (copy, nonatomic) NSDictionary *product; @property (assign, atomic) NSUInteger count;

jvm系列(一):java类的加载机制

java类的加载机制 原文:http://www.cnblogs.com/ityouknow/p/5603287.html 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载器并不需要等到某个

iOS -- SKSpriteNode类

SKSpriteNode类 继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKSpriteNode.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开发技术

iOS -- SKScene类

SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKScene.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开

iOS -- SKPhysicsWorld类

SKPhysicsWorld类 继承自 NSObject 符合 NSCodingNSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKPhysicsWorld.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开发技术文档.虽然已经审阅了本文档的技术准确性,但是它不是最终的版本.本机密信息仅适用于

C#嵌套类

嵌套类顾名思义就是类或者结构中定义的类 class Container { class Nested { Nested() { } } } <1>嵌套类的默认访问权限是private ,可以指定为public,protected,private,internal,protected internal.<2>嵌套类型可以访问外部类(包裹嵌套类的类),如果要访问外部类型,要把外部类通过构造函数传进一个实例<3>嵌套类中只能访问外部类中的静态成员,不能直接访问外部类的非静态成

一个实用的C#网页抓取类代码分享

一个实用的C# 网页抓取类 模拟蜘蛛,类中定义了超多的C#采集文章.网页抓取文章的基础技巧,下面分享代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using Sys

类图(Rose) - Windows XP经典软件系列

最近开始了自己高级数据结构之旅,在这次旅行中,我将持续把一些高级的数据结构从理论到编码都过一遍,同时通过博客形式分享出来,希望大家指出不足之处! 二叉排序树是一种动态排序的数据结构,支持插入.删除.查找等操作,且平均时间复杂度为O(log(N)),但是普通二叉排序树不能保证树退化为一颗分支的情况,此时最坏情况下的时间复杂度为O(N).此时,平衡二叉树的产生了.平衡二叉树是一种动态调整平衡的数据结构,但理想的平衡二叉树很难,于是人们使用AVL.红黑树.Treap.伸展树等来替代平衡二叉树,这些数据