{"id":5719,"date":"2022-03-22T05:31:28","date_gmt":"2022-03-22T05:31:28","guid":{"rendered":"https:\/\/studysection.com\/blog\/?p=5719"},"modified":"2022-03-22T05:41:15","modified_gmt":"2022-03-22T05:41:15","slug":"private-class-data-c","status":"publish","type":"post","link":"https:\/\/studysection.com\/blog\/private-class-data-c\/","title":{"rendered":"Private Class Data &#8211; C#"},"content":{"rendered":"<p><strong>Purpose<\/strong><\/p>\n<ul>\n<li>It provides control on write access of class properties.<\/li>\n<li>It separates the data from the methods where they need to be implemented.<\/li>\n<li>Class data get encapsulated during initialization.<\/li>\n<\/ul>\n<p><strong>Concern<\/strong><br \/>\nThere is a chance that a class can expose its properties to data manipulation when there is no need for it. For example, After constructor method execution. Therefore using this private class data design pattern can prevent this unrequired manipulation.<br \/>\nA class can have properties that are mutable and they can\u2019t be declared final. Therefore this design pattern can help in the one-time setting of the class properties. The main purpose of this <a href=\"https:\/\/studysection.com\/blog\/module-design-pattern\/\">design pattern<\/a>  is to protect the class state by hiding its properties (data).<\/p>\n<p><strong>Structure<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/03\/main-class.png\" alt=\"main-class\" \/><br \/>\n<strong>Let\u2019s understand with an example:-<\/strong><\/p>\n<h2>Without using a design pattern<\/h2>\n<p>The property seconds below should not change after the SecondsConverter() constructor. The visibility is already limited by scoping them as private, but the methods of class SecondsConverter like ConvertToHours can still change them. We can also set properties of classes as const (or final or ReadOnly) restricts their manipulation, but the properties are set in the constructor and therefore cannot be marked as such.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/03\/class-code.png\" alt=\"class-code\" \/><\/p>\n<h3>Using Design Pattern<\/h3>\n<p>The extra openness of the properties creates a type of coupling between methods that access those properties. To reduce the visibility of the properties implement this design pattern.<br \/>\n<img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/03\/class-code1.png\" alt=\"class-code1\" \/><\/p>\n<p><strong>Conclusion<\/strong><br \/>\nThe private class data design pattern helps to reduce the vulnerability of properties by reducing their visibility. It helps in reducing the number of class properties by encapsulating them in a single object. It allows the developer to remove the write access of properties that are implemented to be set only during construction, even from methods of the target class.<\/p>\n<p><small><em>If you have skills in PHP programming and you want to enhance your career in this field, a PHP certification from StudySection can help you reach your desired goals. Both beginner level and expert level <a href=\"https:\/\/www.studysection.com\/php-web-developer-foundation-diploma\">PHP Certification Exams<\/a> are offered by StudySection along with other programming certification exams. <\/em><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Purpose It provides control on write access of class properties. It separates the data from the methods where they need<\/p>\n","protected":false},"author":1,"featured_media":5720,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[142,505],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Private Class Data - C Sharp (C#) - Studysection Blog<\/title>\n<meta name=\"description\" content=\"After constructor method execution. Therefore using this private class data design pattern can prevent this unrequired manipulation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/studysection.com\/blog\/private-class-data-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Private Class Data - C Sharp (C#) - Studysection Blog\" \/>\n<meta property=\"og:description\" content=\"After constructor method execution. Therefore using this private class data design pattern can prevent this unrequired manipulation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/studysection.com\/blog\/private-class-data-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Posts on famous people, innovations and educational topics\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/studysection\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-22T05:31:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-22T05:41:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/03\/Private-Class.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin-studysection-blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@studysection\" \/>\n<meta name=\"twitter:site\" content=\"@studysection\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin-studysection-blog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/studysection.com\/blog\/private-class-data-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/private-class-data-c\/\"},\"author\":{\"name\":\"admin-studysection-blog\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\"},\"headline\":\"Private Class Data &#8211; C#\",\"datePublished\":\"2022-03-22T05:31:28+00:00\",\"dateModified\":\"2022-03-22T05:41:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/studysection.com\/blog\/private-class-data-c\/\"},\"wordCount\":339,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"keywords\":[\"C\",\"Class\"],\"articleSection\":[\"Learn and Grow\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/studysection.com\/blog\/private-class-data-c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/studysection.com\/blog\/private-class-data-c\/\",\"url\":\"https:\/\/studysection.com\/blog\/private-class-data-c\/\",\"name\":\"Private Class Data - C Sharp (C#) - Studysection Blog\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/#website\"},\"datePublished\":\"2022-03-22T05:31:28+00:00\",\"dateModified\":\"2022-03-22T05:41:15+00:00\",\"description\":\"After constructor method execution. Therefore using this private class data design pattern can prevent this unrequired manipulation.\",\"breadcrumb\":{\"@id\":\"https:\/\/studysection.com\/blog\/private-class-data-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/studysection.com\/blog\/private-class-data-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/studysection.com\/blog\/private-class-data-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/studysection.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Private Class Data &#8211; C#\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/studysection.com\/blog\/#website\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"name\":\"Blog Posts on famous people, innovations and educational topics\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/studysection.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/studysection.com\/blog\/#organization\",\"name\":\"StudySection\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"contentUrl\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"width\":920,\"height\":440,\"caption\":\"StudySection\"},\"image\":{\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/studysection\",\"https:\/\/twitter.com\/studysection\",\"https:\/\/www.instagram.com\/study.section\/\",\"https:\/\/www.linkedin.com\/company\/studysection\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\",\"name\":\"admin-studysection-blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"caption\":\"admin-studysection-blog\"},\"url\":\"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Private Class Data - C Sharp (C#) - Studysection Blog","description":"After constructor method execution. Therefore using this private class data design pattern can prevent this unrequired manipulation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/studysection.com\/blog\/private-class-data-c\/","og_locale":"en_US","og_type":"article","og_title":"Private Class Data - C Sharp (C#) - Studysection Blog","og_description":"After constructor method execution. Therefore using this private class data design pattern can prevent this unrequired manipulation.","og_url":"https:\/\/studysection.com\/blog\/private-class-data-c\/","og_site_name":"Blog Posts on famous people, innovations and educational topics","article_publisher":"https:\/\/www.facebook.com\/studysection","article_published_time":"2022-03-22T05:31:28+00:00","article_modified_time":"2022-03-22T05:41:15+00:00","og_image":[{"width":300,"height":200,"url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/03\/Private-Class.png","type":"image\/png"}],"author":"admin-studysection-blog","twitter_card":"summary_large_image","twitter_creator":"@studysection","twitter_site":"@studysection","twitter_misc":{"Written by":"admin-studysection-blog","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/studysection.com\/blog\/private-class-data-c\/#article","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/private-class-data-c\/"},"author":{"name":"admin-studysection-blog","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402"},"headline":"Private Class Data &#8211; C#","datePublished":"2022-03-22T05:31:28+00:00","dateModified":"2022-03-22T05:41:15+00:00","mainEntityOfPage":{"@id":"https:\/\/studysection.com\/blog\/private-class-data-c\/"},"wordCount":339,"commentCount":0,"publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"keywords":["C","Class"],"articleSection":["Learn and Grow"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/studysection.com\/blog\/private-class-data-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/studysection.com\/blog\/private-class-data-c\/","url":"https:\/\/studysection.com\/blog\/private-class-data-c\/","name":"Private Class Data - C Sharp (C#) - Studysection Blog","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/#website"},"datePublished":"2022-03-22T05:31:28+00:00","dateModified":"2022-03-22T05:41:15+00:00","description":"After constructor method execution. Therefore using this private class data design pattern can prevent this unrequired manipulation.","breadcrumb":{"@id":"https:\/\/studysection.com\/blog\/private-class-data-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/studysection.com\/blog\/private-class-data-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/studysection.com\/blog\/private-class-data-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/studysection.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Private Class Data &#8211; C#"}]},{"@type":"WebSite","@id":"https:\/\/studysection.com\/blog\/#website","url":"https:\/\/studysection.com\/blog\/","name":"Blog Posts on famous people, innovations and educational topics","description":"","publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/studysection.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/studysection.com\/blog\/#organization","name":"StudySection","url":"https:\/\/studysection.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","contentUrl":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","width":920,"height":440,"caption":"StudySection"},"image":{"@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/studysection","https:\/\/twitter.com\/studysection","https:\/\/www.instagram.com\/study.section\/","https:\/\/www.linkedin.com\/company\/studysection"]},{"@type":"Person","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402","name":"admin-studysection-blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","caption":"admin-studysection-blog"},"url":"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/"}]}},"views":1040,"_links":{"self":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5719"}],"collection":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/comments?post=5719"}],"version-history":[{"count":2,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5719\/revisions"}],"predecessor-version":[{"id":5725,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5719\/revisions\/5725"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media\/5720"}],"wp:attachment":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media?parent=5719"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/categories?post=5719"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/tags?post=5719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}