面向对象之属性 20141011

partial,写在类的class前面。它代表,此处写得类是类的一部份,还可以继续用partial class来补充类的其它部分。

一、属性:
类中的方法(函数)一般有三类:构造方法,属性方法,行为方法。
public 类型 属性名
{
get
{
return ...;
}
set
{
... = value;
}
}
注意:
1.属性是用来为成员变量赋值和取值的。它有替代属性方法的作。
2.属性定义的时候,属性名后没有小括号
3.属性都是public
4.属性中只能包括两部份:get,set。代码也只能写在get,set的花括号中。
5.如果属性中只有set ,没有get,则称为只读属性;反之,称为只写属性。二者都有称为可读写属性。

静态:
静态成员包括:静态变量,静态属性,静态方法
静态成员属于类的,不属于实例。例如:抽纸标准抽数.
静态变量在内存中只保存一份,不像实例变量那样,每个对象都保存一份。
在C#中。
1.在当前类(Chalk类)的花括号之外。静态成员,只能用类名来调用,不能用实例名来调用。而实例成员,只能实例对象来调用,不能用类名来调用。
2.在当前类(Chalk类)的花括号之内。静态方法中只能直接调用静态成员。实例方法可以调用非静态和静态成员。
例如:
抽纸的标准抽数是静态成员;每包抽纸中可用的实际张数应当是实例成员。
粉笔的标准长度是静态成员;每支粉笔可用的长度,应当是实例成员。

继承:父类与子类
1.public ,protected修改的成员可以被继承到子类去。private修饰的成员,无法被子类继承。
2.单继承:一个父类可以派生多个子类,但每个子类只能有一个父类。
3.实例化子类的时候,会先执行父类的构造函数,再执行子类的构造函数。
4.base关键字,用来调用父类的相关成员。base.xxxx()调用父类的成员方法。base(...)调用父类构造函数
5.如果父类中有且只有一个带参的构造函数,则其子类必须要有带相应参数的构造函数,并且通过base()把参数传给父类。

时间: 2024-12-18 05:28:44

面向对象之属性 20141011的相关文章

理解JAVA - 面向对象(object) - 属性,方法

理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法: 面向对象,人类认知世界的方式:生活中每天都在多态:    这个人是谁,这是个人,多态来看待他了:    他是老师  把它向下造型来看待了,他是老师,知道他能讲课了,老师是人下面的子类型: 我们每天都已多态来接收事物,然后向下造型:    这是人,这人是老师:    这是车,这车是奥迪 小时候,不知到是什么,就问这是什么东西,世间万物都能成

Java 面向对象 的属性 和 方法 的使用 (Java 学习中的小记录)

Java 面向对象 的属性  和 方法 的使用        作者:王可利(Star·星星) //car 的属性方法 class Car { //属性 格式:数据类型 变量名 String color; String name; int wheelNumber; public void run(){ System.out.println("run 的方法 汽车启动了~"); } } //主函数的方法 class Star1 { public static void main(Strin

2.C#面向对象基础属性

属性: 1.一般属性开头字母大写,字段开头字母小写. 2.通过public来赋值的方法无法判断赋值是否非法! 3.无论赋值如何,取值如果就是不采用赋值的结果,那么无论赋值什么都不管用. 4.经典错误之死循环. 例一: 通过public来赋值的方法无法判断赋值是否非法! 验证代码如下: using System; using System.Collections.Generic; using System.Text; namespace stduy2 { class Program { stati

关于 JS 面向对象继承属性和方法的小例子

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>关于 JS 面向对象继承属性和方法的小例子</h1> </body> </html> <script> //人的构造函

六 面向对象高级属性

一 isinstance(obj,cls)和issubclass(sub,super) 二 反射 三 __setattr__,__delattr__,__getattr__ 四 二次加工标准类型(包装) 五 __getattribute__ 六 描述符(__get__,__set__,__delete__) 六 再看property 七 __setitem__,__getitem,__delitem__ 八 __str__,__repr__,__format__ 九 __slots__ 十 __

Python面向对象之类属性类方法静态方法

类的结构 实例 使用面向对象开发时,第一步是设计类: 当使用 类名() 创建对象时,会自动执行以下操作: 1.为对象在内存中分配空间--创建对象: 2.为对象的属性 设置初始值--初始化方法(init); 对象创建后,内存中就有了一个对象的实实在在的存在--实例: 因此通常也会把: 1.创建出来的对象叫做类的实例: 2.创建对象的动作叫实例化: 3.对象的属性叫实例属性: 4.对象调用的方法叫实例方法: 在程序执行时: 1.对象各自拥有自己的实例属性: 2.调用对象方法,可以通过self. 访问

C#面向对象之属性

1.属性的定义及使用 class MyClass { private int id = 1; //属性的定义 private string name = ""; //属性的定义 public int Id { get { return id; } set { id = value; } } public string Name { get { return name; } set { name = value; } } } static void Main(string[] args)

高程第六章--面向对象程序设计--属性类型

ES有两种属性类型:数据属性和访问器属性. 一.数据属性4个描述其行为的特性. 1:[[Configurable]]:表示能否通过delete删除属性从而重新定义属性. 2: [[Enumerable]]:表示能否通过for-in循环返回属性 3: [[Writable]]:表示能否修改属性的值 4:[[Value]]:包含这个属性的属性值 要修改属性默认的特性,必须使用ES5的defineProperty()方法 //"use strict"; var person = {}; Ob

面向对象的属性和方法

1.constructor:查看对象的构造函数 每个原型自动添加constructor属性: for in的时候,有些属性找不到: 避免修改constructor属性: function Arr(){}; var a1=new Arr(); alert(a1.constructor);//Aaa var arr=[]; alert(arr.constructor);//Array alert(arr.constructor==Array);//true 不管是自己写的函数,还是系统自带的函数,创