C#面向对象二
1.方法的定义
概念:对象的动态特征就是方法(静态特征是属性),方法表示此对象可以做什么。
类型:实例方法,静态方法,(构造方法,多态时会用到抽象方法和虚方法)
2.注意事项
访问修饰符:默认private
方法名:一般时动词或动宾短语。首字母大写。不能以数字开头。
参数列表:根据需要添加
成员变量==字段,相对与局部变量
3.面向对象小结
3.1封装
封装:将一个或若干个小对象包装在一起,然后以一个新的对象呈现
作用:封装使得一个对象的内部特征变得隐蔽,从而更安全。
类封装:类是最小的程序单元,是对属性、方法的封装,类中的public成员都是对外提供的数据访问接口。
模块封装:类可以被封装成模块,组成更大的程序组件。
从OOP理解:外界电泳的时候可以不用关心内部实现细节;充分体现面向对象中的“高内聚、低耦合”特性。
对象的重用性:依此封装,处处使用。
3.2变量
变量作用:指代内存地址,便于记忆。
变量的作用范围:
局部变量:一个方法内部交换数据,方法执行完毕,如果没有返回值,则变量很快被清理
成员变量:多个方法内部交换数据,通过对象的属性外对提供数据,变量的清理不确定
4方法重载
方法重载:编译器将根据方法参数的个数和类型自动匹配类的对应方法。
方法重载的好处:减少类的对外接口(只显示一个方法),降低类的复杂度(低耦合);
便于用户使用(相同功能的方法名称一样)和识别
方法重载的条件:方法的名称必须一样
方法的参数个数或参数类型不一样
方法重载的无关性:方法重载与返回值无关。
C#面向对象二的更多相关文章
- 2. 星际争霸之php面向对象(二)
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- Javascript面向对象二
Javascript面向对象二 可以通过指定原型属性来对所有的对象指定属性, Object.prototype.name="zhangsan"; Object.prototype. ...
- python面向对象二
1.1类的静态属性,类方法,类的静态方法 1.1.1静态属性(@property) 在类中: python内置的@property装饰器就是负责把一个方法(函数)变成属性来调用. class Stud ...
- canvas学习和面向对象(二)
Canvas 学习(二) 上一篇Canvas 学习(一)中我是用canvas绘制了一些基本和组合的图形. 现在开始绘制图片和动画帧,以及面向对象的升级版本. 还是一样,看代码,所有的代码都托管在git ...
- JavaScript 面向对象(二) —— 案例篇
看案例前可以先看看基础篇:JavaScript 面向对象(一) —— 基础篇 案例——面向对象的选项卡:把面向过程的程序一步步改成面向对象的形式,使其能够更加的通用(但是通用的东西,一般会比较臃肿). ...
- JavaScript面向对象(二)——成员属性、静态属性、原型属性与JS原型链
前 言 JRedu 上一篇博客中,我们介绍了JS中的面向对象,并详细的解释了this的指向问题.本篇博客,我们继续来学习JS的面向对象.来深入理解一下JavaScript OOP中的成员属性/方 ...
- 第八章:Python基础の面向对象(二)
本課主題 面向对象的多态 面向对象的成员 成员修饰符 特殊成员 面向对象其他应用 异常处理 设计模式与单例模式 面向对象的多态 指定参数类型只是多态的一种表现 另外一种是允许自己类型和自己的子类型(典 ...
- Python之面向对象二
面向对象的三大特性: 继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 c ...
- Python自动化开发 - 面向对象(二)
本节内容 1.isinstance(obj,cls)和issubclass(sub,super) 2.反射 3.__setattr__,__delattr__,__getattr__ 一. isins ...
- python 面向对象二 类和实例
一.类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法, ...
随机推荐
- systemd 配置文件
[Unit]区块通常是配置文件的第一个区块,用来定义 Unit 的元数据,以及配置与其他 Unit 的关系.它的主要字段如下. Description:简短描述 Documentation:文档地址 ...
- 微信小程序相关三、css写小黄人
小程序上课第三天,因为今天院里有活动,所以没去上课,第四天上午又因为要召开入党转正大会,又耽误了一上午,下午去上课,要了资料.这两天讲了一些零零碎碎的东西,做的实例有上面这个小黄人 都是用的css,基 ...
- Binormal - 副法线
[Binormal - 副法线] Binormal是垂直于Normal.Tangent平面的直线.Normal.Binormal.Tangent三条线构成一个坐标系. 参考:http://202.11 ...
- Nginx 源码完全注释(11)ngx_spinlock
Nginx 是多进程模式的,一个 master 与多个 workers,一般工作在多核 CPU 上,所以自旋锁就是必须用到的.Nginx 中的自旋锁的定义,位于 ngx_spinlock.c 中,如下 ...
- 523. Continuous Subarray Sum是否有连续和是某数的几倍
[抄题]: Given a list of non-negative numbers and a target integer k, write a function to check if the ...
- SLAM Course - WS13/14 by Cyrill Stachniss (1) 课程资源汇总
本帖是作者学习SLAM 课程笔记的资源帖,汇总了SLAM Course - WS13/14 by Cyrill Stachniss 的相关资源. 1. 课程网站,有相关课件作业和教学视频下载. htt ...
- 一张图记住TCP/IP通讯中的IP地址配置
TCP/IP通讯情景: 用网线将计算机A(服务器Server)和计算机B(Client)连接起来.程序代码在计算机A中,计算机B中安装有TCP/IP通讯助手. (图中屏幕大的是计算机A,屏幕小的笔记本 ...
- robotframework中文显示乱码
问题描述:接口.数据库返回信息有中文的时候会显示unicode的样式,如图 解决方法: 1.robotframework为3.0.X 2.找到Python安装目录下的\Lib\site-package ...
- eclipse添加web项目报错“Target runtime Apache Tomcat v7.0 is not defined.”
项目检出后,发现是Tomcat7 发布的,修改文件: 工作空间--->项目名称--->.settings--->org.eclipse.wst.common.project.face ...
- [C++] c pointer
the nature of pointer const keyword const int* p int const *p int* const p int const a const int a ...