C#-概念-类:类
ylbtech-C#-概念-类:类 |
类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。
1.返回顶部 |
2.返回顶部 |
介绍
用法
class 类名
{ public:
公有成员
private:
私有成员 protected:
保护成员
};
- 结尾部分的分号必不可少,否则会发生语法错误。
- 无论公有成员、私有成员还是保护成员,彼此之间都可以访问。比如公有的成员函数可以操作保护的数据成员,也可以调用私有的成员函数。
- 类的数据成员是类型,所以不能被赋值,声明数据成员和声明普通变量的格式相同,比如“int n;”。
- 函数名固定构造函数和析构函数的函数名必须是类名。
- 声明格式不同构造函数的声明形式:类名(参数列表);析构函数的声明形式:~类名();
- 重载的特殊性构造函数和普通成员函数一样可以被重载,析构函数不可以重载,只能是空参数。
- 调用过程不同
-
类名 对象名(参数列表);
- Java/C#类名 对象名 = new 类名(参数列表);括号不能省略。
- 类的公有成员可以被该类,其派生类和类实例化的对象访问。
- 类的保护成员可以被该类及其派生类访问,不可以被该类的对象访问。
- 类的私有成员可以被该类访问,不可以被派生类及其该类的对象访问。
class 子类类名:
public 父类类名,private 父类类名,
protected 父类类名
{
public:
公有成员
private:
私有成员
protected:
保护成员
};
- 公有继承继承自父类的成员保持不变。
- 私有继承继承自父类的成员全部变为私有成员。
- 保护继承继承自父类的公有成员变为保护成员,其余不变。
- 大多数“车轮”具有的特性是“公交车”所不具有的。比如说“车轮”具有“重量”,而“公交车”的“重量”则是另一个含义。而通过私有成员、保护成员机制控制这些成员的继承性,会使继承变得复杂而难以理解。而且
- 继承来的数据成员只有一个,而一辆“公交车”却有四个“车轮”,四个“车轮”的“重量”。
特性
- 封装性
-
继承性更符合认知规律,使程序更易于理解,同时节省不必要的重复代码。
- 从职能观点来看,class表现为行为;而struct常用于存储数据。
- class的对象复制分为浅拷贝和深拷贝,必须经过特别的方法来完成复制;而struct创建的对象复制简单,可以直接以等号连接即可。
- class实例由垃圾回收机制来保证内存的回收处理;而struct变量使用完后立即自动解除内存分配。
- 作为参数传递时,class变量是以按址方式传递;而struct变量是以按值方式传递的。
示例
class Animal
{
private void beat()
{
System.out.println("");
}
publicv oid breath()
{
beat();
System.out.println("")
}
}
class Bird
{
//
private Animal a;
public Bird(Animal a)
{
this.a=a;
}
//
pubilc void breath()
{
//
a.breath();
}
public void fly()
{
System.out.println("")
}
}
class Wolf
{
//
private Animal a;
}
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
C#-概念-类:类的更多相关文章
- go变量、类的概念以及类的使用方式,嵌套结构体
go变量.类的概念以及类的使用方式,嵌套结构体 Go变量 go使用var声明变量,当声明变量时,这个变量对应的值总是会被初始化.这个值要么用指定的值初始化,要么用零值(即变 量类型的默认值)做初始化. ...
- 定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型
为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说 ...
- * 类描写叙述:字符串工具类 类名称:String_U
/****************************************** * 类描写叙述:字符串工具类 类名称:String_U * ************************** ...
- Python进阶(十四)----空间角度研究类,类与类之间的关系
Python进阶(十四)----空间角度研究类,类与类之间的关系 一丶从空间角度研究类 对象操作对象属性 class A(): address = '沙河' def __init__(self, na ...
- Python之路(第二十二篇) 面向对象初级:概念、类属性
一.面向对象概念 1. "面向对象(OOP)"是什么? 简单点说,“面向对象”是一种编程范式,而编程范式是按照不同的编程特点总结出来的编程方式.俗话说,条条大路通罗马,也就说我们使 ...
- Python面向对象-概念、类、实例
OOP——Object Oriented Programming,面向对象编程,是一种程序设计思想.该思想将对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 区别于面向过程的程序设计即把计 ...
- Java基本概念:类
一.描述 类是一种抽象的数据类型,它是对某一类事物整体的描述或定义,但是并不能代表某一个具体的事物. 例如,我们生活中所说的词语:动物.植物.手机.电脑等等.这些也都是抽象的概念,而不是指的某一个 具 ...
- 纠正一个概念:类就有VMT,各实例不过是共享这个VMT而已
不是只有实例才有VMT,举个例子,各实例的VMT地址是相同的: Use System.Contnrs; procedure TForm1.BitBtn2Click(Sender: TObject); ...
- python中重要的概念:类(class)
1.名词解释 类:类代表了具有相同特征的一类事物(人) 对象.实例:具体的某一个事物或者是人 实例化:将类变成对象的这么一个过程,即新建一个对象的过程,就是对类的一个实例化过程. 2.格式 函数定义: ...
- 根据字符串生成类---类的类型.self---根据字符串创建控制器对象
swift和OC一样,都是通过NSClassFromString,根据一个字符串,生成相应的类. // UITabBarButton是系统的私有类,不能直接使用 // if btn.isKind(of ...
随机推荐
- Java-集合第二篇Set集合
1.Set集合与Collection基本相同,没有提供额外的方法.实际上Set就是Collection,只是行为略有所不同(Set不允许有重复元素). Set下的HashSet.TreeSet.Enu ...
- [2019杭电多校第八场][hdu6667]Roundgod and Milk Tea
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6667 题目大意是说n个班级,每个班级有ai人和bi杯茶,每个人只能喝其他班的茶并且只能喝一杯.问最多有 ...
- linux内核的gpiolib详解
#include <linux/init.h> // __init __exit #include <linux/module.h> // module_init module ...
- Excel VBA批量处理寸照名字(类模块加FSO版)
需求:因为处理学生学籍照片,从照相馆拿回来的寸照是按班级整理好,文件名是相机编号的文件.那么处理的话,是这么一个思路,通过Excel表格打印出各班A4照片列表,让学生自行填上照片对应姓名.表格收回来后 ...
- CSRF verification failed. Request aborted.错误解决办法
在Django项目的页面,提交form表单POST请求时,会出现报错:CSRF verification failed. Request aborted. 需要在form表单中加:{% csrf_to ...
- 二分查找---有序数组的 Single Element
有序数组的 Single Element 540. Single Element in a Sorted Array (Medium) Input: [1, 1, 2, 3, 3, 4, 4, 8, ...
- SSM商城系统开发笔记-问题01-通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明。
配置搭建完后进行Post请求测试时报错: Caused by: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 29; cvc ...
- 前端之CSS基础
前端之CSS 1. CSS CSS定义如何显示HTML元素. 当浏览器读到一个样式表,他就会按照这个样式表来对文档进行格式化(渲染). 3.CSS语法 1)CSS实例 每个CSS由两部分组成: 选择器 ...
- HTML导航框架实现
导航栏界面(html_contents.html) <!DOCTYPE html> <html> <head> <meta charset=” utf-8” ...
- SQL Server 查找字符串中指定字符出现的次数
要查找某个指定的字符在字符串中出现的位置,方法比较简单,使用 len() 函数和 replace() 函数结合就可以. SELECT TOP 200 approveInfo approveInfo2, ...