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与数据库开 ...
随机推荐
- Docker 镜像之进阶篇
笔者在<Docker 基础 : 镜像>一文中介绍了 docker 镜像的基本用法,本文我们来介绍 docker 镜像背后的技术原理. 什么是 docker 镜像 docker 镜像是一个只 ...
- go语言调度器源代码情景分析之六:go汇编语言
go语言runtime(包括调度器)源代码中有部分代码是用汇编语言编写的,不过这些汇编代码并非针对特定体系结构的汇编代码,而是go语言引入的一种伪汇编,它同样也需要经过汇编器转换成机器指令才能被CPU ...
- mysql开发规范(优化)
规范 库名.表名.字段名必须使用小写字母, 并采用下划线分割, 禁止超过32个字符(整齐.易读) 临时库.表名须以tmp加日期为后缀; 使用Innodb存储引擎.[好处: 支持事务和行级锁] 字符集统 ...
- Python进阶:设计模式之迭代器模式
在软件开发领域中,人们经常会用到这一个概念——“设计模式”(design pattern),它是一种针对软件设计的共性问题而提出的解决方案.在一本圣经级的书籍<设计模式:可复用面向对象软件的基础 ...
- Java消息系统简单设计与实现
前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...
- Asp.Net Core 轻松学-使用MariaDB/MySql/PostgreSQL和支持多个上下文对象
前言 在上一篇文章中(Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库)[https://www.cnblogs.com/viter/p/10243577.html],介 ...
- Python中最好用的命令行解析工具:argparse
Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...
- Sql 优化解决方案
转自:https://blog.csdn.net/jie_liang/article/details/77340905 用以记录: 在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行 ...
- Android-----Intent中通过startActivity(Intent intent )显式启动新的Activity
Intent:即意图,一般是用来启动新的Activity,按照启动方式分为两类:显式Intent 和 隐式Intent 显示Intent就是直接以“类名称”来指定要启动哪一个Activity:Inte ...
- CDN工作机制和负载均衡
定义: CDN 即内容分布网络,(Content Delivery Netwrok) ,是构筑在现有Internet上的一种先进的流量分配网络,其目的是通过在现有的Internet中增加一层新的网络 ...