黑马程序员——面对对象之类的定义和使用
来源:互联网 发布:番号搜索软件 编辑:程序博客网 时间:2024/06/05 18:58
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
1 为什么要使用类?
在编程中我们使用对象来模拟现实中的对象,用属性模拟特征,方法模拟能力。每次使用都会创建对象,定义属性,方法。这样比较麻烦,为了代码重用性,我们定义类,类是创建对象的模板,里面定义了对象应该具备的属性和方法。使我们不用每次创建对象时都重复的定义,直接使用即可。
综上,类是对象的抽象模板,定义了对象将具备的属性能力,在创建对象及使用对象时达到代码重用的功能。
2 类的定义
知识点: [访问修饰符] class 类名
{
私有字段;
公共属性;(自动属性:系统默认帮助生成)
方法;
构造方法;
}
例子:
:class student { int age; string name; public string Name { get { return name; } set { name=value; } } public void SayHello() { console.writeline("你好,我的名字是{0},我{1}岁了",name,age); } pubic Student(name,age) { this.name=name; this.age=age; }}
3 类的使用:
类是封装性的,使用时用属性访问字段,方法访问能力,是可控的,收到保护的,防止非法访问。
使用类是指使用以类为模板创建出的对象的功能,即通过类来创建对象,并访问对象的属性和方法。
知识点:(1)创建对象:
类名 实例名=new 类名();( 1,在栈中声明变量,2 new:在堆中分配空间,创建对象,3调用系统的无参构造函数为字段初始化
,4 将对象在堆中的地址赋值给栈中变量)
因为能在构造方法中为字段赋值,故我们可以写自己的有参构造方法,为字段赋初值。
类名 实例名=new 类名(参数);
(2)使用对象
修改对象属性,访问对象属性,访问对象方法,
实例名.属性名 实例名.方法(参数)
(3)销毁对象,
垃圾处理器(GC)销毁对象并释放内存
例子:
Student s=new Student();或Student s=new Student("张三",19);s.SayHello();
内存分析:
①静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。
②栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
③堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存。 但是,良好的编程习惯是:如果某动态内存不再使用,需要将其释放掉,否则,我们认为发生了内存泄漏现象。
程序运行开始,类被加载进内存先在静态存储区声明类静态变量,常量,方法
在堆中创建对象然后分配空间,创建对象,初始化字段,建方法表
使用完对象后,垃圾处理器销毁对象,线程栈和托管堆中成员均是属于调用对象的,均被处理掉。
程序关闭,方法区释放。
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
- 黑马程序员——面对对象之类的定义和使用
- 黑马程序员--面对对象之继承的定义和使用
- 黑马程序员---面对对象之接口的定义和使用
- 黑马程序员-----面对对象之抽象类的定义和使用
- 黑马程序员——OC---面向对象之类和对象
- 黑马程序员——OC笔记之类和对象
- 黑马程序员—OC学习之类和对象
- 黑马程序员——面对对象
- 黑马程序员——一个面对对象的小实例
- 黑马程序员---面对对象之多态的使用
- 黑马程序员-面对对象
- 黑马程序员_OC之类和对象
- 黑马程序员-.NET基础之类和对象
- 黑马程序员_面对对象的思想
- 黑马程序员_面对对象的理解
- 黑马程序员---iOS--面对对象的语法
- 黑马程序员——黑苹果的日记(8)——oc基础之类和对象
- 黑马程序员——Java基础——面对对象
- UVa 200题记录
- 和机器学习和计算机视觉相关的数学
- 2013级C++第1周(春)项目【项目3扩展(选做)】
- ZOJ 2856 Happy Life / 太暴力了 我不会啊!!
- win32 api遍历文件,进程
- 黑马程序员——面对对象之类的定义和使用
- 如何最小化托盘
- malloc简单实例
- android添加library遇到的问题(adding libararies with resources)
- 【mahout】decision forest决策森林源码解析完整版
- SQL面试题
- Java 获取和判断文件头信息
- 流量调节回路
- 使用grep恢复被删文件内容