C#面向对象(1)
一、面向对象(OOP)
面向过程
面向过程就是分析出解决问题的所需要的步骤,然后每个步骤使用函数实现,使用时将函数依次调用即可
C语言
面向对象
对象:生活中真实存在的事物(电脑、手机、草、树......)
面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是完成步骤,而是为了描述某个对象在整个解决问题的步骤中的行为(功能)
c# java
洗衣服:
面向过程:
1、打开洗衣机盖子
2、把衣服放进去
3、导入洗衣粉
4、点击开始
5、晾衣服
6.....
面向对象:
衣服(被洗)、洗衣机(洗)、洗衣粉(去渍)
汽车:
面向过程:
1、如何启动
2、如何加速
3、如何刹车
面向对象:
1、关系是否有启动、加速、刹车等功能
区别:
面向过程:看重的每个步骤的具体实现,更注重细节
面向对象:看中对象有什么功能,不关系每个功能的具体实现
二、面向对象的特征
封装、继承、多态、抽象
三、类和对象
类:类型,人类,电脑类,飞机类,汽车类,动物类.....
人类:
特点:两手两脚、一个脑袋、一对眼睛、能走、能吃、能睡、能学习、能工作....
凡是具备以上特点的事物,就可以称为人类,而那个事物就是编程中的对象,比如:你们
对象:有属性和行为的事物称为对象
类:具有相同属性和行为的事物的集合称为类
问题:类是一个具体的事物吗?不是,类只是一个抽象的概念
类的体现是对象
类是对象的抽象,对象是类的具体
当一个类不足以描述一个对象时,该类是抽象类,比如:图形
问题:类是对象的模板吗?是,比如:模具
面向对象的主要特点,设计:类
四、类的定义
修饰符 class 类名
{
类成员:属性和方法
}
修饰符:
public:公共的,访问没有权限限制
internal:内部的,自己所在的程序集可以访问
注意:当我们没有显示的指定修饰符,默认internal
属性:变量、常量
方法:
访问修饰符 返回类型 方法名(参数列表)
{
}
实例化对象:
类名 对象名 = new 类名();
对象名.属性;
对象名.方法();
成员变量和成员方法的修饰符:
public:公共的,访问没有限制
internal:内部的,自己所在的程序集可以访问
protected:受保护的,自己所在的类和其子类能访问(继承)
private:私有的,自己能访问
注意:
如果不显示声明修饰符,默认private
权限大小:public > internal > protected > private
通常:类使用public、成员变量使用private、成员方法使用public
命名规范:
1、类名大写开头
2、类中成员变量小写开头
3、类中方法名大小开头
五、封装
生活中:快递、电脑、空调....看不到内部的具体实现,对外提供接口、按钮,用户不关心内部的具体实现,知道怎么用就行
程序中:成员变量使用private修饰,提供属性声明
属性声明:
修饰符 数据类型 属性名
{
get{return 属性}
set{属性=value}
}
通常是提供给外界类使用,常常使用public修饰
为了安全性
C#面向对象(1)的更多相关文章
- angular2系列教程(六)两种pipe:函数式编程与面向对象编程
今天,我们要讲的是angualr2的pipe这个知识点. 例子
- 一起学 Java(二)面向对象
一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...
- js面向对象学习 - 对象概念及创建对象
原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...
- .NET 基础 一步步 一幕幕[面向对象之对象和类]
对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...
- 简单分析JavaScript中的面向对象
初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...
- Java程序员应该了解的10个面向对象设计原则
面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...
- JavaScript学习笔记(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- 带你一分钟理解闭包--js面向对象编程
上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...
- .NET基础拾遗(2)面向对象的实现和异常的处理基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
随机推荐
- common-pool2连接池详解与使用
我们在服务器开发的过程中,往往会有一些对象,它的创建和初始化需要的时间比较长,比如数据库连接,网络IO,大数据对象等.在大量使用这些对象时,如果不采用一些技术优化,就会造成一些不可忽略的性能影响.一种 ...
- python yield用法 (tornado, coroutine)
yield关键字用来定义生成器(Generator),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行.也就是说,y ...
- 【SAP业务模式】之STO(一):业务背景和前台操作
所谓STO即两个关联公司之间的库存转储交易,一家公司发出采购订单向另一家公司做采购,然后在做发货.如此之后,两家公司有相应应收应付的票据,以及开票和发票校验等动作. STO分为一步法与两步法,因为一步 ...
- Docker 容器
1. 容器 在过去,如果要开始编写Python应用程序,首先要做的就是在机器上安装Python运行时环境.但是,这就造成了这样一种情况:你的机器上的环境需要完美,以便你的应用程序能够按预期运行,而且 ...
- eShopOnContainers 知多少[10]:部署到 K8S | AKS
1. 引言 断断续续,感觉这个系列又要半途而废了.趁着假期,赶紧再更一篇,介绍下如何将eShopOnContainers部署到K8S上,进而实现大家常说的微服务上云. 2. 先了解下 Helm 读过我 ...
- Hugo + Github Pages 搭建个人博客
尝试过 Hexo .GatsbyJs. Vuepress 搭建博客后,对这些工具最大的不满,就是运行速度以及打包速度. 后来看到 Hugo ,号称最快的静态站点生成器后. 尝试搭建博客,发现不管是运行 ...
- Keepalived部署与配置详解
Keepalive详解 工作原理 Keepalived本质就是为ipvs服务的,它也不需要共享存储.IPVS其实就是一些规则,Keepalived主要的任务就是去调用ipvsadm命令,来生成规则,并 ...
- 论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey
目录 写在前面 目标检测任务与挑战 目标检测方法汇总 基础子问题 基于DCNN的特征表示 主干网络(network backbone) Methods For Improving Object Rep ...
- LeetCode刷题专栏第一篇--思维导图&时间安排
昨天是元宵节,过完元宵节相当于这个年正式过完了.不知道大家有没有投入继续投入紧张的学习工作中.年前我想开一个Leetcode刷题专栏,于是发了一个投票想了解大家的需求征集意见.投票于2019年2月1日 ...
- docker(5):数据的管理
Docker的volume卷 为了能持久话保存和共享容器的数据. 使用docker volume卷的两种方式 1:数据卷 2:数据卷容器 1:数据卷 数据卷:数据卷会绕过docker 的ufs 直接写 ...