In this dice class I've told you the important of having our attributes as private, and using public methods to manipulate this data if we absolutely need to.
The problem is, we're testers, and we're not known for following rules particularly well ... so here it is ...
Make them public! What's the worst that could happen?
Remember when Simba was told everything the light touches was his kingdom. Except that shadowy place ... never go there?
Yeah - this ended up happening. Damn you Simba, you had one job!
So here's our revised class - I've streamlined it. And added those public attributes you asked for.
Cool - so let's run a test for it now!
I'm going to side with Uncle Scar on this ..."Simba what have you done?".
Here's the thing about private attributes. They can only be accessed and changed by class methods. If the attribute is vital, you can build recording around them to a log file to register changes. In our class above, I've put print commands for all the methods. If I had odd data, then I should check those methods with a fine tooth comb.
Now, here's the thing about public attributes. They can be accessed and changed anywhere. And on a large coding project, that's a frightening prospect.
It has the potential to be this ...
And sure, you have tools in your compiler and debugger which give you the equivalent of a metal detector and a powerful magnet. But you've still made more work for yourself than you need.
Most people who write code end up feeling like this ...
Whilst you're learning is a great place to go "I wonder why they say I need to". Learning is a great time to break rules, but also to learn some good habits.
This approach of only making public the methods that you really need to is called encapsulation, or data hiding. A bit like the ring of power in Lord Of The Rings, ask yourself "Is it secret? Is it safe?".
The big reveal
Yeah - well someone was nasty in the @Test method ...
The thing is, with the way you coded your DiceClass method, you didn't stop him from doing this!
You might notice how I'm blaming you dear reader for this, though I wrote it? Let me just finish with this ...
That code that you made me write can be found here.
Extension material
Google some articles and read up about encapsulation.
I read encapsulation for java 14 whether it could be applied to the web version?
ReplyDeleteVery nice Information for Java languages, very nice informative and much effective as well.
ReplyDeleteJava Training in Chennai
very good information.it is very useful for java learners.keep rocks.thanks fpr sharing.
ReplyDeleteBest Java Training Institute in Chennai
I likable the posts and offbeat format you've got here! I’d wish many thanks for sharing your expertise and also the time it took to post!!
ReplyDeleteangularjs online Training
angularjs Training in marathahalli
angularjs interview questions and answers
angularjs Training in bangalore
angularjs Training in bangalore
angularjs online Training
Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
ReplyDeleteData Science course in kalyan nagar | Data Science Course in Bangalore
Data Science course in OMR | Data Science Course in Chennai
Data Science course in chennai | Best Data Science training in chennai
Data science course in velachery | Data Science course in Chennai
Data science course in jaya nagar | Data Science course in Bangalore
Data Science interview questions and answers
Very useful and information content has been shared out here, Thanks for sharing it.
ReplyDeleteVisit Learn Digital Academy for more information on Digital marketing course in Bangalore.
nice blog . check out https://ayevainstitute.com/
ReplyDeleteI recently came across your blog and have been reading along. I thought I would leave my first comment.
ReplyDeleteSelenium training in Chennai | Selenium training institute in Chennai | Selenium course in Chennai
Selenium training in Bangalore | Selenium training institute in Bangalore | Selenium course in Bangalore
Selenium interview questions and answers
Selenium training in Pune | Selenium training institute in Pune | Selenium course in Pune
ReplyDeleteWhoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.
aws training in bangalore
RPA Training in bangalore
Python Training in bangalore
Selenium Training in bangalore
Hadoop Training in bangalore
The article is so informative. This is more helpful for our
ReplyDeleteLearn best software testing online certification course class in chennai with placement
Best selenium testing online course training in chennai
Best online software testing training course institute in chennai with placement
Thanks for sharing.
For Python training in Bangalore, Visit:- Python training in Bangalore
ReplyDeleteThis is amazing and really inspiring goal.sap pm training in bangalore
ReplyDeleteIt is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful.sap crm training in bangalore
ReplyDeleteI have read your blog its very attractive and impressive. I like it your blog.sap ewm training in bangalore
ReplyDeleteGreat post!I am actually getting ready to across this information,i am very happy to this commands.Also great blog here with all of the valuable information you have.Well done,its a great knowledgez.
ReplyDeletereally thanks for posting such an informative stuff...
ReplyDeletelearn data science
Attend The Course in Data Analytics From ExcelR. Practical Course in Data Analytics Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Course in Data Analytics.
ReplyDeleteExcelR Course in Data Analytics
Data Science Interview Questions
I am impressed by the information that you have on this blog. It shows how well you understand this subject.
ReplyDeletebusiness analytics course
data analytics courses in mumbai
data science interview questions
data science course in mumbai
Thanks for the information about call centers. It is always great to read about this ever changing industry.
ReplyDeleteSEO Services in Kolkata
Best SEO Services in Kolkata
SEO Company in Kolkata
Best SEO Company in Kolkata
Top SEO Company in Kolkata
Top SEO Services in Kolkata
SEO Services in India
SEO Company in India
Your article is very informative. It's a welcome change from other supposed informational content. Your points are unique and original in my opinion. I agree with many of your points.
ReplyDeleteSAP training in Mumbai
Best SAP training in Mumbai
SAP training institute Mumbai
python training in bangalore | python online training
ReplyDeleteaws training in bangalore | aws online training
artificial intelligence training in bangalore | artificial intelligence online training
machine learning training in bangalore | machine learning online training
uipath training in bangalore | uipath online training
blockchain training in bangalore | blockchain online training
Thanks for your informative article,Your post helped me to understand the future and career prospects & Keep on updating your blog with such awesome article
ReplyDeleteoracle training in chennai
oracle training in porur
oracle dba training in chennai
oracle dba training in porur
ccna training in chennai
ccna training in porur
seo training in chennai
seo training in porur
I have express a few of the articles on your website now, and I really like your style of blogging. I added it to my favorite’s blog site list and will be checking back soon…
ReplyDeletedata science training in chennai
data science training in velachery
android training in chennai
android training in velachery
devops training in chennai
devops training in velachery
artificial intelligence training in chennai
artificial intelligence training in velachery
Really it was an awesome article...very interesting to read..You have provided an nice article.
ReplyDeletesap training in chennai
sap training in annanagar
azure training in chennai
azure training in annanagar
cyber security course in chennai
cyber security course in annanagar
ethical hacking course in chennai
ethical hacking course in annanagar
Vé máy bay Aivivu, tham khảo
ReplyDeleteVé máy bay đi Mỹ
ve may bay tet gia re 2021
vé máy bay từ tpHCM đi San Francisco
kinh nghiệm mua vé máy bay giá rẻ đi Pháp
vé máy bay đi Anh quốc
thời gian bay từ Việt nam sang Los Angeles
combo đà nẵng
combo hà nội đà lạt 4 ngày 3 đêm
làm visa trung quốc 1 năm
dịch vụ cách ly tại khách sạn
Thanks For sharing a nice post .It is very helpful and for us
ReplyDeletesap crm training in bangalore
Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.
ReplyDeleteBest Training Institute for AWS in Pune
Excellent blog,Keep sharing such type of post..
ReplyDeleteFull stack classes in ahmedabad
I just got to this amazing site not long ago. I was actually captured with the piece of resources you have got here. Big thumbs up for making such wonderful blog page!
ReplyDeleteMua vé máy bay đi ngày tu Ha Lan ve Viet Nam
mua ve may bay gia re tu New Zealand ve Viet Nam
dịch vụ cách ly trọn gói
taxi sân bay 2 chiều
form đăng ký visa Hàn Quốc
Xin visa xuất khẩu lao động Nhật Bản
Well Said. Keep updating. java training
ReplyDeletejava online training
Nice blog! Thanks for sharing this valuable information
ReplyDeleteRPA Training in Hyderabad
RPA Training in Gurgaon