面向对象的几个概念性问题

概念性架构设计的步骤 概念性架构设计的输入是关键的功能需求、关键的质量属性需求和关键的商业需求。 温昱在《软件架构设计》中给出了三个基本步骤: 第一步,鲁棒性分析。通过分析表示关键功能需求的用例规约中的事件流,识别出实现用例规定的功能的主要对象及其职责,形成以职责模型为主的初步设计。 鲁棒性分析是从用例到面向对象设计进行过度的一种技术。鲁棒性分析用鲁棒图作为描述工具。鲁棒图用边界对象、控制对象和实体对象三种元素。 阅读详情

using System;

using System.Collections.Generic;

using System.Text;

 

namespace oop

{

    class Person

    {

        public string name;

        public int age;

 

        /**

         * static修饰的字段

         *

         * 用static修饰的字段,它们属于类,而不属于类的某一个实例,

         * 也就是说,在调用静态字段时,只能通过类名来调用,即(Person.sex)

         * 而不能通过类的某一个实例来调用,而不是(Person person = new Person();person.sex)

         * 2.

         * 如果方法被声明为静态的,也是如此

         */

 

        public static string sex;

 

        /**构造方法

         * 特点:

         * 1.与类名相同

         * 2.构造方法一般被声明为public

         * 3.构造方法一般用来初始化成员变量

         * 4.构造方法可以重载

         * 5.构造方法在实例化对象的时候被调用

         * 6.如果类中没有默认构造方法,也没有带参数的构造方法,编译时,将会自动添加一个默认构造方法,

         * 7.如果类中有带参数的构造方法,而没有默认构造方法,则编译器不会再添加默认构造方法,

         * 8.默认构造方法也叫无参构造方法

         */

 

        public Person()

        {

        }

 

        public Person(string name, int age)

        {

            /**

             * this

             * this代表类的实例.

             * 如果一个字段或者方法被声明为static的,则不能用this来调用,因为static声明的字段或者方法属于类,

             * 而this代表的是类的实例(如:this.sex是错误的)

             */

            this.name = name;

            this.age = age;

 

        }

        /**

         * 方法的重载

         *

         * 重载的特点:

         * 1.方法名都要相同

         * 2.方法的可以参数不同,返回值可以不同,方法的访问权限可以不同,方法参数不同的几种情况如下:

         *

         * 重载的几种情况:

         * 1.参数的类型不同

         * 2.参数的个数不同()

         * 3.参数的顺序不同(参数的列表不同 在C# 中,这种情况没有实际使用价值)

         * 4.返回类型不同

         * 5.访问修饰符不同

         */

 

        public void GetInfo()

        {

            Console.WriteLine("这个是无参的方法");

        }

 

        public void GetInfo(string name)

        {

            Console.WriteLine("姓名是:" + name);

        }

 

        public int GetInfo(int age)

        {

            Console.WriteLine("年龄:" + age);

            return age;

        }

 

        internal void GetInfo(int age, string name)

        {

            Console.WriteLine(" 年龄: " + age + "姓名:" + name);

        }

 

        public void GetInfo(string name, int age)

        {

            Console.WriteLine("姓名:" + name + " 年龄: " + age);

        }

 

        /* 用static修饰的方法

         *

         * 1.static修饰的方法中,不能用this关键字来调用实例字段

         * 2.static修饰的方法中,也不能直接调用实例字段,如果要调用这些字段,

         *    要先实例化对象(如 Person p1  =new  Person();p1.age=2;)

         * 3.静态方法中,可以类名调用静态方法

         */

        public static void StaticInfo()

        {

            Console.WriteLine("这个方法是一个静态方法");

        }

        /**

         * 析构函数

         *

         * 特点:

         * 1.析构函数前有一个"~",表明是一个析构函数

         * 2.析构函数的函数名和类名相同

         * 3.一个类只有一个析构函数

         * 4.析构函数没有参数

         * 5.析构函数没有返回值

         * 6.析构函数没有访问修饰符

         * 7.析构函数不能重载

         * 8.析构函数不能实现继承

         * 9.析构函数是用来清理垃圾的(如:用来清除不再使用的对象)

         * 10.析构函数不用手动调用,而是由垃圾回收器自动调用

         *

         */

        ~Person()

        {

 

        }

 

    }

    class Program

    {

        static void Main(string[] args)

        {

            Person p = new Person();

 

            p.GetInfo();

            Console.WriteLine("/n");

 

            p.GetInfo("sofie");

            Console.WriteLine("/n");

 

            p.GetInfo("sofie", 21);

            Console.WriteLine("/n");

 

            p.GetInfo(21, "sofie");

            Console.WriteLine("/n");

 

            int a = p.GetInfo(12);

            Console.WriteLine(a);

        }

    }

}

 

 转自:

http://blog.163.com/pengpeng_614/blog/#m=0&t=1&c=fks_087067093083088069093095086095085081086067083087080074

如何用Arduino和HX711压力传感器制作一个简易电子秤(含OLED显示) 本文详细介绍了如何使用Arduino、HX711压力传感器和OLED显示屏制作一个简易电子秤。从硬件连接到软件编程,提供了分步教程,包括核心元件功能解析、接线方法、库安装、模块测试以及关键的校准流程。项目实践性强,适合创客和DIY爱好者学习嵌入式系统与传感器应用。 阅读详情

相关推荐

(RegionProposal Network)RPN网络结构及详解

RPN(RegionProposal Network)区域生成网络 Faster-RCNN的核心。在这里整理。 1.anchors。 特征可以看做一个尺度51*39的256通道图像,对于该图像的每一个位置,考虑9个可能的候选窗口:三种面积{128,256,512}×{128,256,512}×三种比例{1:1,1:2,2:1}{1:1,1:2,2:1}。这些候选窗口称为anchors...

凹酱的DEEP LEARNING 19万+

面向对象的一些概念性问题

面向对象本身是一种思维方式。面向过程---注重流程中的每一个步骤/动作面向对象---看重的是对象,只要找到了对应的这个对象,就拥有了对象身上的一系列功能面向对象优于面向过程吗?---如果处理的是一些相对简单的事物,建议使用面向过程;如果处理的是一些相对复杂的事物,建议使用面向对象把大象装进冰箱---要找的对象是冰箱打开冰箱门将大象塞进冰箱关上冰箱门面向对象实际上是基于面向过程的类与对象的关系对一类...

weixin_42077509的博客 220

张正友标定法_单目-线激光三维扫描系统中光刀平面的标定

单目-线激光三维扫描系统中光刀平面的标定线结构光有结构简单、精度高、测速快等特点,被广泛应用于三维重建领域。线结构光三维扫描系统由一个相机和一个线结构光投射器构成,线结构光投射器将线结构光投射到被测物体表面,相机采集带有线激光的被测物体图像,根据相机和线激光投射器间的相对位置关系,使用激光三角法计算出激光线上的点在相机坐标系下的坐标。激光三角法原理如下图所示,线激光投射的扇形区域可以看作是一个平面...

weixin_39616379的博客 1074

面向对象开发中的几个核心的思想和概念

这里有面向对象开发的几个核心的思想和概念 1、问题领域、对象、属性、状态、行为、方法、实现 问题领域: 指软件系统所模拟的真实世界中的系统,在现实生活中,比较常见的比如,税收、社保、银行、商场等等,都可以使用软件来进行模拟,这些就是软件所针对的问题领域。 对象: 对象是对问题领域中的事物的一种抽象。 1)所有的东西都是对象,万物皆对象,问题领域中的实体和概念都可

qq_25181603的博客 368

华为CNA VRM搭建(使用vmware worfstartion搭建)

华为CNA和VRM在 vmware workstation安装使用

weixin_70595351的博客 1810

Pascal Context数据集实战:从安装到格式转换的完整指南

本文提供了Pascal Context数据集的完整实战指南,从安装配置到格式转换的详细步骤。Pascal Context是计算机视觉领域重要的语义分割数据集,包含540个精细标注类别。文章涵盖数据集下载、环境配置、预处理技巧和常见问题解决方案,帮助开发者高效利用这一数据集进行场景理解任务。

weixin_30216561的博客 616

【亲测免费】 推荐开源项目:MARRMoT —— 概念性水文模型的全面评估工具箱

推荐开源项目:MARRMoT —— 概念性水文模型的全面评估工具箱 项目介绍 MARRMoT(Modular Assessment of Rainfall-Runoff Models Toolbox)是一个创新的降雨径流模型比对框架,为水文学家和环境科学家提供了一个强大的工具。这个Matlab代码库包含了惊人的47种独特概念性水文模型结构,旨在通过客观比较不同模型结构,提升水文建模的准确性和效率。...

gitblog_00283的博客 1155

用angr找到strcpy的栈溢出漏洞

这篇文章其实是分析angr文档里给出的一个挖漏洞的小例子。 原文链接在此:https://docs.angr.io/examples#beginner-vulnerability-discovery-example-strcpy_find 这是第一个用angr在二进制里找可利用条件的教程。第一个例子是一个非常简单的程序。这个angr脚本会从程序的entry到strcpy找到一条路径。(只有我们能够控制strcpy的参数的时候) 为了找到正确的路径,angr需要去算一个密码参数,算这个密码,angr只要2s

^_^ 1220

几个Spring的概念性问题

关于Spring的几个概念性的问题

欢迎朋友,我是一名十多年开发经验的新手,希望多多指教。 222

微信小程序- 云开发上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。(小程序上传部署云函数提示错误,开发控制台中的云函数没有删除,详细排查)

微信小程序——云函数上传失败,微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。微信小程序上传云函数失败,微信小程序云开发|Error: ResourceNotFound.FunctionName, FunctionName 指定的资源不存在。微信云开发报错(Error: ResourceNotFound.FunctionName,微信小程序云函数报错,上传云函数 sum 失败 Error:,上传部署我们的云函数 2. 报错 错误信息

🏆 前端领域优质创作者 4315

深度解析与实战:长短时记忆网络(LSTM)在股票走势预测中的应用(基于Python + PyTorch)

本文全面探讨了LSTM在股票价格预测中的应用,从理论基础到实践操作。文章首先强调了股票市场预测的重要性,并介绍了LSTM网络结构及其在处理时间序列数据中的优势。接着,详细说明了数据预处理的关键步骤,包括数据收集、清洗、特征选择和归一化。文章还讨论了LSTM模型的构建、训练和评估,并提供了Python及PyTorch的实操案例。最后,总结了LSTM在股票预测的成果,并提出了未来研究的方向,如模型优化和特征工程,旨在帮助读者掌握LSTM在股票价格预测中的应用,并探索提升模型性能的方法。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2100

Java概念性

面向对象 面向对象是一种编程规范,是基于万物皆对象这一哲学观点。 所谓面向对象就是将我们的程序模块化,对象化,把具体事物的特征属性及动作放到一个类里面来。 在现实生活中,任何物体都可以归类为一类事物的实例。面试对象的编程,是以对象为中心,以消息为驱动 面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现。 面向对象设计原则 https://b...

zzl429556205的专栏 202

请尽可能地详细说明一个VLA项目的立项训练到落地的全流程

一个机器人VLA项目的全流程是一个复杂的系统工程,它深度融合了机器人学 (Robotics)计算机视觉 (CV)和自然语言处理 (NLP)。其核心挑战在于高质量数据的获取和从仿真到现实的有效迁移。与纯粹的软件AI项目相比,它增加了硬件、物理交互和安全性的维度,但其最终能让AI走出虚拟世界、在物理世界中产生实际价值,这也是其巨大的魅力所在。

具身机器人和通用AI 303

oop概念性讲解

1.面象对象的概念     面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成,OOP达到了软件工程的三个目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。面向对象一直是软件开发领域内比较热门的话

天下熙熙,皆为利来;天下攘攘,皆为利往。 829

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

面向对象概念性的知识

1、类与对象 (1)类:是同一类事物的统称。 组成:属性对应特点,方法对应行为。 (2)对象:具体存在的事物。(万物皆对象) 设计类时,要抽离出面对的对象的共同的特点(属性)以及行为(方法)。 2、成员变量&成员方法&局部变量 (1)成员变量: 也就是全局变量。 注意点:如果全局变量未进行初始化或者赋值,就会有默认值,int:0 double:0.0 boolean:false String:null 还有一种特殊情况(数组): public class Person { public s

diamond_0的博客 275

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

面向对象程序设计(c++)个人整理——for考研复试面试

本人25考研党,发一些近期为复试准备整理的资料作为对考研准备的一个收尾。由于作者本人水平有限,若本文有任何不对欢迎大家留言指正!上岸不易,希望大家都能去到想去的地方,加油!

sadasdasddss的博客 474

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

面向对象程序设计(c++)个人整理——for考研复试面试(文字版)

接上篇文章。本文主要将c++考研复试面试中可能会考察的一些概念性问题,进行。

sadasdasddss的博客 442

面向对象开发中的几个核心的思想和概念 .

这里有面向对象开发的几个核心的思想和概念 1、问题领域、对象、属性、状态、行为、方法、实现 问题领域: 指软件系统所模拟的真实世界中的系统,在现实生活中,比较常见的比如,税收、社保、银行、商场等等,都可以使用软件来进行模拟,这些就是软件所针对的问题领域。 对象: 对象是对问题领域中的事物的一种抽象。 1)所有的东西都是对象,万物皆对象,问题领域中的实体和概念都可

信息安全 907

面向对象的概念介绍

继续讲程序基础。这一篇主要是介绍面向对象的各种概念性的东西,并不会说具体的代码怎样写,所以可以用一种轻松的心态去看。 一、面向过程和面向对象 面向对象是相对于面向过程的一种编程方式。 面向过程的编程方式由来已久,我刚开始学习Basic和Pascal的时候,都是面向过程的编程方式。这种方式非常的直观,需要写一个功能,直接就写几行实现方法。比如你需要操作一个人移动到某个点,直接就写代码修改一个人...

阿赵的博客 2万+

面向对象编程的概念性问题

1、类和对象   这两个是完全不同的概念,不能混淆。   类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。一个类定义了一组对象。类具有行为(be-havoir),它描述一个对象能够做什么以及做的方法(method),它们是可以对这个对象进行操作的程序和过程。   对象(object)是人们要进行研究的任何...

weixin_30707875的博客 86

面向对象开发的几个核心的思想和概念

1、问题领域、对象、属性、状态、行为、方法、实现 问题领域: 指软件系统所模拟的真实世界中的系统,在现实生活中,比较常见的比如,税收、社保、银行、商场等等,都可以使用软件来进行模拟,这些就是软件所针对的问题领域。 对象: 对象是对问题领域中的事物的一种抽象。 1)所有的东西都是对象,万物皆对象,问题领域中的实体和概念都可以抽象为对象。 2)世界上没有完全相同的两片叶子,

奋斗ing 1716

软件工程大复习(七)面向对象设计

软件设计是软件开发过程中的一个阶段,它紧随需求分析之后。设计阶段的目标是将需求转化为一个完整的系统架构和详细设计,这将指导后续的编码和测试工作。概念性设计:确定系统的高层结构和组件,通常包括系统架构的设计。详细设计:涉及具体实现细节,如类设计、接口定义、算法实现等。

m0_74107848的博客 1079

Java基础易错概念性问题

1.面向对象都有哪些特性以及你对这些特性的理解? 封装,集成,多态 2.& 和 && 的区别 &&有短路效果,提高代码效率 3. 在 Java 中,如何跳出当前的多重嵌套循环 标号跳出指定循环,retuet结束min方法,countinue后面的将不在执行 4.两个对象值相同 (x.equals(y) == true) ,但却可有不同的hashCode,这句话对不对? 内容相等hash值一定相等,hash值相等对象不一定相等,例如:

xiaochengxuyuan1的博客 169

2 面向对象

我们知道在C语言中,从main函数开始,我们根据我们需求的逻辑往下面写代码,在编码的过程中可能会需要一些函数,我们会编写函数的逻辑,然后在主线程中调用。后续还会用到的时候也会继续调用该函数。但是只是对函数的封装。 我们在编写JAVA代码的时候会以类的形式出现,需要用到类的方法的时候我们会new一个对象,然后调用对象的方法。 方法是一个对象的方法,遵循高内聚低耦合的要求。我们称这样一个过程叫面向对象编程。那么我们可以这样解释面向对象:可以将某个事物抽象出来,赋予它自己的特征,并且可以针对这个事物进行相应的操作

yusongcao的博客 1001

Python【面向对象】保姆式教学,零基础速成精英之路

面向对象也不难啊

龙叔的博客 3万+
上一篇: C#中的事务处理
下一篇: 序列化与反序列化
aspnet2002web
博客等级 码龄21年 482粉丝 310原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值